faster string table

- use open addressing hash table with 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.