LPS-49709 Add extra type parameter to accomodate new
ServiceTrackerCustomizer

The parameters are like this:
K -> Key type
SR -> Service reference type, this is the input of the customizer
TS -> Tracked service type, this is the output of the customizer
R -> This is the return type of the map, normally R == TS or R ==
Collection<TS>

I have also parameterized the ServiceReferenceMapper to make it clear
which type it is going to be passed to it.
LPS-49709 Allow to pass a ServiceTrackerCustomizer
LPS-49709 Add default ServiceTrackerCustomizer and move the logic to it.
LPS-49709 New factory methods accepting ServiceTrackerCustomizer
LPS-49709 Update test generics
LPS-49709 Adding new tests for ServiceTrackerCustomizer
LPS-49709 Missing class
LPS-49932 Add containsKey and keySet methods
LPS-49932 Delegate implementation to inner concurrent map

The returned Set of keys must be unmodifiable
LPS-49932 Added tests for new behaviour
LPS-49932 Ability to obtain the wrapped registry
LPS-49932 SF
LPS-49932 Update to use try with Closeable in all tests
LPS-49932 SF
LPS-49932 Please fix the rest of the formatting
LPS-49932 SF
LPS-49932 SF
LPS-49932 not needed
LPS-49932 this way
LPS-49932 SF