wms proxy

Down the rabbit hole, a suggested fix for #946. I saw that authenticated geoserver requests go via the proxy controller, so why not just run them all through?

Revised a few more times by @dnahodil and @jkburges, looks mature now - has flag to enable/disable the feature.
This is adding one array into another and calling flatten() to turn it back into one array.
This line could be written as `result.addAll(grailsApplication.config.allowedProxyHosts)`