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

...ed ServiceLoader for finding the appropriate ServiceEndpointFactory for each Service EndpointType.
I feel that this is a misuse of the term "abstract", since this class is not actually abstract.

How about using the prefix "Base" ????