Legends, customParams in print options, catch and fix equal z-indexes, m...

Hi thanks for this great plugin!

We' wanted to be able to do a couple of new things and fixed a couple of other issues we ran into along the way. 

Changes in this pull request: 

1) Added the capability to generate the spec for legends for WMS layers

2) Added ability to set customParams in the print() call's options

3) Verify that layers (markers and tiles) do not have the same z-index before submitting them to mapfish

4) Support for Mapbox tile layers

5) Fixed case in tilelayerwms where if layerOpts.layers or layerOpts.styles were unset, Leaflet.print would set it to an empty array.