TileLayer maxNativeZoom option for scaling tiles on unsupported zoom levels

Implements #1798. Suppose you have a tile layer with maxZoom 18, but you need it up to 20 and OK with scaling of tiles. Then you would do this:

```js
var tiles = L.tileLayer(..., {
    maxZoom: 20,
    maxNativeZoom: 18
});
```

Tested and seems to work well for both simple tile layers and WMS layers. Thoughts on the API?