Location: cleanup and document

In this commit is mostly documentation and coding style cleanup (including whitespace), as well as some other cosmetic changes.
We don't need distanceAllowInvalid anymore, nor is it used anywhere, so I cleaned up a little by removing it.

To do is:
* write more unit tests to test all functionality
* check where assumeValid() is used and maybe replace with Location.filterValid(…)
* check where isValid() is used and whether this is necessary