Adds support for altitude and 3D GeoJSON

This commit adds a third parameter to the L.LatLon class for specifying
altitude. This is in turn stored in the `.latitude` property for the LatLng
instance. Latitude property will only be set if the latitude parameter is not
undefined, this is done in order to ensure backwards compability.

```javascript
var latlng = new L.LatLng(10, 20, 30);
console.log(latlng.altitude); // prints '30' to the console
```

Similar functionality has been added to L.GeoJSON coordsToLatLng() and
latLngToCoords() methods in order to handle import and export of 3D GeoJSON.

```javascript
var geoJSON = {
  type: 'Feature'
  ,properties: {}
  ,geometry: {
    type: 'Point'
    ,coordinates: [20, 10, 30]
  }
}
var layer = new L.GeoJSON();
layer.addData(geoJSON);
console.log(layer.getLayers()[0].getLatLng().altitude);
```

`NB` It is important to notice that no logic has been added in order to prevent
latitude and longitude to change without appropirate change in altitude – this
must be handled by the application.
Renames L.LatLng property .altitude to .alt
Added getBounds function to CRS
Use CRS's bounds to calculate wrap
panInsideBounds: fit or center, pass options, remove boundsMinZoom

Deltas are calculated on x, y pixel coordinates separately.
Options are propagated from setMaxBounds to panBy.
No panBy loops. Fixes #1908.
test Map#setMaxBounds and Map#panInsideBounds
Allow double quotes in template strings fixes #2120
Make Mocha ignore leaks properly and do some space -> tab replacement
Make Mocha ingore leaks, spaces -> tabs
Whitespace OCD
Hack fix for firefox android layers control. refs #2033
Merge pull request #2121 from jieter/util-template

Allow double quotes in template strings
Add tileloadstart event with tile data
Fix build error, reference layer correctly.
Merge pull request #2142 from Leaflet/tileloadstart

Add tileloadstart event with tile data
Merge pull request #2136 from danzel/rtl

Correct rtl again
Work around iOS7 memory trouble by not applying the contextId performance optimization when context==this. The optimization does nothing in this case anyway. Fixes #2122
Add method to controls to refocus on the map container.
Refocus on the map after a +/- button is clicked.
Refocus on the map when an input is clicked on the layers dialog. fixes #2148