Refactoring

1. Get and set navigation mode for LocationController
2. Get LocationController's LocationProvider
3. Added LocationListener.onStateChanged(LocationProviderState)