Rework LocationLexer.

I decided to re-work LocationLexer to work with some of the new APIs
available.

Speaking of which, I have added:
- A ray-trace function to RemoteZeroVector
- A standalone ray-tracer which can use RZVs
- Years to the date parser

Total SLOC: 8106