Merge pull request #669 from cfis/editingFix

Check this.edit is set
Merge branch 'master', remote-tracking branch 'origin'
Fix feature detection for IE9 when drawing SVG paths
Merge pull request #671 from naehrstoff/patch-1

Fix feature detection for IE9 when drawing SVG paths
Merge pull request #586 from Mithgol/master

Detect retina displays and adjust tileSize accordingly
limitExecByInterval fixes
CR LF -> LF
Make any Circle visible even on low zoom levels
Fixing indentation so that Leaflet compiles.
Converting spaces to tabs for consistency.
Merge pull request #678 from SpotSpecific/master

Fixing indentation in Retina Display compatibility code
refactor icon and default marker image paths, wrap library in a function
update jshint settings
Merge remote-tracking branch 'origin/master'
rename marker image
update build
The load event for a tile layer is only fired after all tiles are loaded.  However, the previous code only took into account successful tile loads.  It is legitimate for a tile load to cause an error - you might be zoomed out on a map and are pulling a non-existent tile (especially on indoors maps).  This patch takes into account both successful and unsuccessful tile loads.
When a tileLayer is added or removed form a map, the _tileLayersNum property is appropriately updated but the _tileLayersToLoad is not.  It is not updated until resetView, but that is called after  the method _onTileLayerLoad is called.  Thus, if you add one tile layer the _tileLayersToLoad is zero and when _onTileLayerLoad is called the values is decremented to -1.

This in the end doesn't make a difference on the initial zoom level of a map because _onTileLayerLoad also checks to see if there is a background tile layer, which there is not until after a first zoom.  However, this seems to me a bug waiting to happen, thus the patch.
bring marker icon back (oops!)
Fix error with removing GeoJSON, closes #685