Allow specifying the endpoint types for inter components communication

Most of the Openstack components talk to each other using the 'publicURL' endpoint type.
However, in some architectures communications are not allowed on public endpoints, and the internalURL must therefore be used. This pull request allows to specify to endpoint type to use for each component.
Same, in Ceilometer it's publicURL as default.