Location: fix unit tests and increase epsilon for equals

The unit test for Location needed some rework to adapt it to the new architecture.

While fixing this I stumbled upon the problem that normalized(a+1).equals(a) is not always true. To fix this I have increased the epsilon to 1e-15, instead of Double.MIN_VALUE * 2 (which does not even allow the immediate next encodable value around 1.0). This gives some room for normalize(a+k).equals(a) to be true for small integer values of k.