JCLOUDS-642: InternalUrl fallback

This PR provides the necessary changes for [JCLOUDS-642](https://issues.apache.org/jira/browse/JCLOUDS-642). `InternalURL` should fallback to use `publicUrl` if the `internalUrl` is not present for the endpoint.
 
This is a WIP pending testing and could use feedback on the changes in the meantime. DO NOT MERGE! Thx!
[minor] Perhaps rename the three tests to something like `testInternalURLOnly`, `testPublicURLOnly`, `testInternalAndPublicURL` or so?