Add key management for API keys, check for missing values before setting default map center

The api_key() function persistently stores api keys for different providers -- this can be used for geocoding providers as well as, potentially, tile providers.

Also in this update: some cleanup of geocode functions and a line to drop NA values in case the first row of geo_data is NA when setting the default map center.
Add license information