Added String type on ServiceEndpoint. Added ServiceEndpointFactory. Add...

...ed ServiceLoader for finding the appropriate ServiceEndpointFactory for each Service EndpointType.
How can this return T? A Class<T> type parameter is probbabaly missing.