Previously in #2265 we would ask for location permission at app startup if `!settings->showsUserLocation`. #21930a172a21fd changed the way we used `NSUserDefaults` and mostly removed the `settings` object, which broke #2265.
Rather than fix our pestering location permissions ask at startup, this commit now only asks for location permissions when the user hits the locate-me button.
Once a user grants permission, the user dot appears because a `userTrackingMode` is set, `showsUserLocation` is permanently set to `YES` in `NSUserDefaults` and is restored at launch.