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.
> I don't think you'd want that in the case I have, where the url changes depending on resolution, because you would want to keep the tiles for the other resolutions.

That's a specific case. What about the case where you change the URL of your WMS source to use a completely different tile set? In this case you do want/need to clear the tile cache.