Redo hash table to avoid array append & GC lock/unlock

Also save hash to speed up in case of collisions & allow future re-hashing.
Merge pull request #30 from blackwhale/tune-perf

Another tweak to string cache