allow overriding of endpoint types so they don't get clobbered by recreate endpoint

This allows a user to provide an arbirtrary endpoint uri for a service endpoint type, and NOT have it clobbered by recreate_endpoint in the keystone endpoint provider.

To maintain current HA functionality, if an arbitrary uri for a service endpoint type is not provided, all endpoint types will default to using the public endpoint.

There is no easy way to allow separate HA-ing of each different endpoint type (internal/admin/public) for a service since they are not technically separate services that listen on a single IP - they all point to the same service that, due to the way haproxy works in our ha-controller* roles, can only listen on a single IP/port.

Issue #TA403