MULE-7972: Redesign muleContext bootstrapping in OSGi

_Removing RegistryBootstrapDiscoverer interface, implementations and tests
_Moving SimpleRegistryBootstrap#ArtifactType to a top level class BootstrapArtifactType
_Adding BootstrapPropertiesService to provide and instantiate bootstrap properties
_Adding BootstrapPropertiesService to muleContext and required factories/builders
_Adding RegistryBootstrapService to bootstrap a MuleContext. Moving all logic from
SimpleRegistryBootstrap to this class
_Making SimpleRegistryBootstrap a simple hook to invoke the mule context bootstrap service
_Updating AbstractMuleContextTestCase to load every registry-bootstrap.properties available in the classpath
_Updating domain and application artifacts
_Manually loading bootstrap services in tests that don’t extend from AbstractMulecontextTestCase

NOTE: there is nothing related to OSGi in this commit, that code is in a separated branch
If all the public methods fully synchronize, why don't we just synchronize the methods and remove this lock object?