Fix script cache bug found by Brian Sumner: unw_flush_cache() would
(eventually) clear the IP values of all scripts, but failed to
update the hash/collision-chain info, which could result in
loops in the collision-chains.  Fixed by flushing the cache under
the global lock and since things are locked now, we can update the
collision-chain etc. without fear of races.  Added test-flush-cache
to test for this error-condition.



BKrev: 3f6aa88cQRr-NcDXg_8mM3dN2esAQQ