Using Promise to get location

If coming directly to the MainView (say, via bookmark), we might very
well not have the CurrentPosition loaded. So we need to defer loadding
directions (and gas prices) until the CurrentPosition is loaded. This
commit introduces a new method, getPromise, on CurrentPosition that
returns a promise that resolves when the current location is loaded.