Differantial encoding for name offsets

This PR implements differential encoding for the offsets of street names in the name vector.

This approach only used about 1/3 of the previous memory (20 bytes vs. 64 bytes for 17 offsets). However since the memory needed to store this information is only a few MB, this won't be too noticeable.

Hopefully RangeTable can be reused later for some other parts of OSRM to bring further memory reductions.
Move the local includes to the top. the order is local, libraries, c-includes, STL includes each block lexicographically sorted.