Implementing a better hash, removing state_tracker dependency from the cache.

Replacing mesa's main hash with one that handles collisions, moving state_tracker
related caching to the state tracker to keep cso cache independent of it. Cleanups.
diff --git a/src/mesa/state_tracker/st_atom_blend.c b/src/mesa/state_tracker/st_atom_blend.c
index d007d50..d94beb6 100644
--- a/src/mesa/state_tracker/st_atom_blend.c
+++ b/src/mesa/state_tracker/st_atom_blend.c
@@ -33,10 +33,11 @@
  
 
 #include "st_context.h"
+#include "st_cache.h"
 #include "st_atom.h"
+
 #include "pipe/p_context.h"
 #include "pipe/p_defines.h"
-#include "cso_cache/cso_cache.h"
 
 
 /**
@@ -211,7 +212,7 @@
       blend.dither = 1;
 
    struct pipe_blend_state *real_blend =
-      cso_cached_blend_state(st, &blend);
+      st_cached_blend_state(st, &blend);
 
    if (st->state.blend != real_blend) {
       /* state has changed */