Refactor to remove some duplicate code
Tests for the users system
Rearrangement of how location works so it can have a confidence interval, useful for deciding between multiple user sources
Remove dead code