Add unit test for Location.

This adds a randomized unit test for Location, covering general behaviour as well as the corner case fixed in the recent Location rewrite.
For now it is: this was one of the corner cases that was not handled correctly in the old Location class. In the future, we will probably want a more abstract ```Location``` type instead of passing ```double```s everywhere, and this case may be omitted.
FYI: the next two lines are _also_ important, since they check reflexivity of equality under the corner case ☺