This implements a sparse vector class for rangers cache and uses it bey default except when the CFG is very small, in qhich case the original full vectors are faster.  It works like a normal vector cache (in fact it inherits from it), but uses a sparse bitmap to determine whether a vector element is set or not.  This provide better performance for clearing the vector, as well as during initialization. A new param is added for this transition "vrp_vector_threshold" which defaults to 250.  Anything function with fewer than 250 basic blocks will use the simple vectors.  Various timing runs have indicated this is about the sweet spot where using the sparse bitmap overtakes the time required to clear the vector initially. Should we make ranger live across functions in the future, we'll probably want to lower this value again as clearing is significantly cheaper. This patch also rename the "evrp_*" params to "vrp_*" as there really is not a serperate EVRP pass any more, its all one vrp pass.   Eventually we'll probably want to change it to vrp1, vrp2 and vrp3 rather than evrp, vrp1  and vrp2.    But thats a task for later, perhaps when we reconsider pass orderings.. Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew