Fix Leaks, Use std::hash, Use shared_array

This is a bit of a maintainance pr. It cleans up a few leaks, makes graphtiles copyable, and allows for graphids to be used as keys in stl data containers, which is what i did within the graphreader to speed up access to cached tiles. this breaks mjolnir, pr forthcoming