Open map at user's location or last saved or default

This causes the map to use Google Play Services to get the user's last location and start the map there. If they've already been using the app, the saved CameraPosition is stored and retrieved.  If they're opening for the first time and location services is not available, it uses a default (randomly set to Missoula Mt right now). Fixes #97 

This adds really quite a lot of complexity. Google Play Services is far more complex than the way this was once done. Also, saving and restoring the location (and handling the case where it might not be available) causes yet more code. We could actually pull some of this out and not save and restore. But I think it's the google play services that causes most of the trouble. And I don't know how to test some of the error handling code that is boilerplate provided by them.