Checkpoint

More classes brought into the refactoring. For better separation of
concerns we now have
* Resource
* Endpoint
* ResourceEndpoint
An Endpoint that aggregates a Resource
** Entity
** EntityCollection
For testability we now have
* IEntity
Defines the operational interface common to all entites
* IEntityCollection
Defines the operational interface common to all entity collections
* IResource
Defines the operational (data) interface common to all resources.