added API for module metadata handling
added implementation for ModuleHandler service
inject metadata processor into repositories
extended ModuleVersionMetaData interface, introduced MutableModuleVersionMetaData
introduced VersionMatcher interface based in Ivy's VersionMatcher, added Ivy adapter
changed ExternalResourceResolver to:

 - use our VersionMatcher interface
 - use our ModuleVersionMetaData instead of Ivy's ModuleDescriptor (in same locations)
 - apply module metadata rules
updated and unignored IvyCustomStatusResolveIntegrationTest
moved ModuleMetadataProcessor interface to internal package, added some Javadoc
adapted test to prior service registry change
adapted tests to previous change