More flexible hash table with rehashing

This is a fairly small progress w.r.t. performance.

What's addressed is 
* opApply sucks compared to ranges
* fixed-sized hash table sucks for very small and very large files

Now it has dynamic hash-table and takes compile-time adjustable load factor into account.

Otherwise the main problem that is left is definetely the GC. It makes measures fuzzy and unstable, also accounts for more then 10% of time on ldc.

That and more tests for everything. For instance I'm going to add a separate unittest for StringCache later on.