Only set the map data attribute when a map is available

Otherwise get a JavaScript exception for new maps.
Deal with crazy zoom

Sometimes the zoom layer will be extremely high and nothing will
render until zoomed out. This catches this case and zooms out to
a more certain level
Add featureGroupToGeoJSON method
Create WikiMap abstraction, enable saving