Use a minihash in the vertex cache, treat unreliable arrays more carefully

The minihash should be fairly fast (unless many small flushes are pushed, but we're already in trouble there.)  It seems to catch many cases for me, although not all.  I've only benchmarked it on Windows, but it checks a small subset of the data.

Unreliable arrays were "expiring" 120 flips after they became unreliable.  If a bunch were on the same frame, this would be a hit every 120 flips potentially all at once.  So this also prevents expiring too many in the same flip, and extends the unreliable length.

For me this improves both the performance (slightly) and accuracy of the vertex cache.

-[Unknown]