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.
> What about the case where you change the URL of your WMS source to use a completely different tile set?

but in that case would you not be better creating a new layer?

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.