Merge tag 'v0.5' into stable

Version 0.5

* tag 'v0.5': (319 commits)
  fix FF minus key, close #869, update changelog and build
  fix whitespace, update build
  update zoom control styles, extract general toolbar classes, fix #1209
  minor cleanup
  update changelog more
  update changelog
  update changelog
  update build
  Robust array type check for cross-frame support
  Fix jshint unhappiness (Thanks @Guiswa)
  fixed the whitespace and also removed the quotes in object keys
  Another pass on marker-icon, better grid fitting.
  update changelog
  Oops, revert accidental commit
  add Popup zoomAnimation option, fix #999
  fix a bug with FeatureGroup bindPopup not accepting options
  Update README.md
  Remove click handler with onRemove
  udpate copyright to be more precise
  fix TileLayer.brintToFront/Back on IE6-8, close #1168
  ...
add generated coverage to gitignore in stable
Make setRadius and updateStyle({radius: 123 }) work.
backport the geojson featurecollection arrays fix
bump version to 0.5.1 and update build
add package.json for publishing on npm
merge master for 0.6
merge master
Issue where the tile layer is not reset and updated when redraw is called.

I was able to replicate this issue: https://github.com/Leaflet/Leaflet/issues/1797. The problem is that redraw does not call update and reset on the TileLayer, therefore causing the above issue. I am proposing simply doing it before calling drawTile. I built and tested it, and it does fix the issue.
Stop transition if element is outside fo the DOM
Allow options to be passed to Map.setMaxBounds such that they can be used when setting the view.
Mirror D3 strategy for drag event suppression

-webkit-user-drag is not inherited, so it's ineffective
at preventing drags of image overlays (#1821). Instead,
always preventDefault on dragstart.

While here, preventDefault on selectstart as well (a
"belt-and-suspenders" approach).

Together, these changes bring Leaflet's strategy in line
with D3's:

https://github.com/mbostock/d3/blob/master/src/event/drag.js
Fire layerremove after removing the layer

This is consistent with 0.5.x and seems more useful. Updating
the state of a layer switcher using map.hasLayer in response
to layeradd and layerremove events is my use case.
Merge pull request #1846 from Leaflet/layerremove

Fire layerremove after removing the layer
update build
update changelog
Merge pull request #1817 from tofferrosen/patch-1

Issue where the tile layer is not reset and updated when redraw is calle...
update changelog
Revert "Merge pull request #1802 from Leaflet/scaledtiles"

This reverts commit 8f2dc24c88307bfc51d8dcdc56448ec7a971ffc8, reversing
changes made to 71e851fa401f8568e7dbe8e6eb3653b56da8b0cc.
Merge branch 'stable' of https://github.com/Leaflet/Leaflet into stable

* 'stable' of https://github.com/Leaflet/Leaflet:
  add package.json for publishing on npm
  bump version to 0.5.1 and update build
  backport the geojson featurecollection arrays fix
  Make setRadius and updateStyle({radius: 123 }) work.
  add generated coverage to gitignore in stable