Add TileWMS setUrl(s)

Fixes #1217.

There's an example at http://probins.github.io/cz.html which accesses the WMS of the Czech mapping agency. This has the different scale map rasters, and orthophotos, as different 'services', so, to have these in the same layer, as you zoom in, the service part of the url has to be changed as well as the layers param for the different resolutions.
The urls in this example are all on the same server, but you could use the same technique to load tiles from different servers in the same layer, as long as the other parameters, such as projection and tilesize, are the same. It's quite common for example for orthophotos to be on a different server from other map layers.

I ran into a tilegrid issue when creating this. I'll raise a topic on the list for this.
> In the case I have, you can set up a different layer for each of the different urls, but it's a bit of a pain to administer. Having setUrl() makes it easier.

Why is it painful on your case? Can't you create a layer group including layers with different min/maxResolution intervals?

It's not that I don't want to `setUrl`, if we add it we need to somehow invalidate the "old" tiles in the cache. If you just setUrl(newUrl) you do expect to see new tiles in the map. If we don't want to throw away the "old" tiles we can also change the `resetCoordKeyPrefix_` function.