faster string table

- use a hash table with open addressing and [quadratic probing](http://en.wikipedia.org/wiki/Quadratic_probing) (triangular numbers) 
- adapt initial capacity (to phobos)
- better hash function (MurmurHash2)
- StringValue pool allocator for locality and 4-byte indices

This StringTable is much faster, but even though `StringTable::search` was high up the profile a change from `1.6%` to `0.8%` accumulated CPU usage will go unnoticed for dmd users.