Added String type on ServiceEndpoint. Added ServiceEndpointFactory. Added ServiceLoader for finding the appropriate ServiceEndpointFactory for each Service EndpointType.
Revert "Use a global lock on ProfileRegistry instead of individual ProfileVersion locks."