#2662 - setStyle now takes className

http://leafletjs.com/reference.html#path-setstyle says that it accepts a  <Path options> object which includes a className parameter, however className is ignored. 

This pull request adds className support to setStyle and if accepted would resolve #2662 

If className is set in the <Path options> object, setStyle will set the object's class to the string provided. 

Notes: 
* Class names starting with 'leaflet-' are ignored when finding class names to remove so as not to break internal leaflet assumptions. This results in the case where a user could set a class name (eg. leaflet-customclass) which they can't remove. 
* I do not have a version of IE to test SVG.VML.js on. 
* [jmaxxz suggested](https://github.com/Leaflet/Leaflet/issues/2662#issuecomment-42316958) that addClass and removeClass methods would make more sense. I think those would be useful additions too, but I think there's also value in className working like the rest of setStyle. If there's interest in addClass/removeClass I'd be happy to implement those. 

Here's a simple demo: http://stuporglue.org/downloads/leaflet-2662/

The geojson features have an on('click') handler that sets a new className. CSS changes the style from blue to red.