Credentials parameters in URLs - http://user:pass@host

Use HttpClient for HTTP URLs in ResourceUtils.getResourceFromUrl

HttpUrlConnection doesn't support authenticating using credentials in the url (http://user:pass@host) and redirecting between protocols.
Switch to HttpClient which supports multiple authentication protocols and manually get the credentials from the URL, passing them to HttpClient.
As a side effect redirection between protocols works.
do `username` and `password` need to be url unescaped?