Created new configuration API. This API should be reused by any other API with configuration requirements
Refactored DataSource to become an interface, relegating the current implementation to a specific implementation of the interface. Added a facade for the new Data API (org.ldp4j.application.entity.Data. The facade provides the means for creating identities and data sources. The facade provides a plug-in mechanism that allows the runtime discovery of data services that might be used by the facade (Data SPI). These data services might be configured using the new configuration API. For the time being the SPI is limited to factory services for identities and data sources.
Refactored identity class hierarchy to an interface hierarchy, relegating the current implementation to specific implementations of the interfaces. Added missing license headers. Added configuration for default core data source factory and identity factory.
Updated Setting API. Substituted default setting implementation with a builder-based default implementation.