added in cleanup of markerKeys on removeAllMarkers

Currently removeAllMarkers doesn't touch the markerKeys hash.  As I
understand it, this would be a bit of a memory link because javascript
can't recycle the google map markers because you still have a reference
to it in markerKeys.  I don't think this is intentional, as there is no
way in the API to actually remove a marker key.  This bit of code cleans
up markerKeys.  I put in a "delete markerKeys[i]" because it matched how
it was being done for the markers array.  I'm not 100% sure it's
necessary in either place.