LPS-47465 Implement logic when adding a service

It asks the mapper for the corresponding key and look for a bucket. If a
bucket does not exist we ask the bucket factory for a new one, handling
contention.

Once it has a bucket store the service into it.
LPS-47465 Implement removingService

Find the corresponding bucket asking the mapper. If a bucket is found
ask it to remove the service and check if the bucket can be disposed of.
If so remove it.
LPS-47465 Implement modifiedService by calling removedService and
addingService
LPS-47465 Add the skeleton of SingleItemBucketFactory

This factory returns buckets of type SingleBucket<S, S>.
These buckets return just one service each time Bucket.getContent() is
called.

When more than one service falls into the same bucket the bucket must
keep a queue of services and return the one with the biggest priority.
A comparator must be provided to calculate priorities.
LPS-47465 Added comparator and priority queue
LPS-47465 Keep the service with highest priority available for access
without blocking.
LPS-47465 When a new serviceReference is added to the bucket we toss it
into the priorityQueue and keep the one with the highest priority
LPS-47465 When a serviceReference is removed we delete it from the
queue. Then we check the peek for the next highest priority service.

If there are no more services available we set the content to null
LPS-47465 The bucket is disposable when no elements are left in the
queue.
LPS-47465 Add MultipleItemsBucketFactory.

This factory returns CollectionBuckets. These buckets hold and return a
collection of the services.

In this case the comparator is used to sort the services in the
collection, so they are going to be returned in this order to the
consumer of the API.
LPS-47465 Keep a sorted set with the references using the comparator.

Then we keep a collection (list) that is the one that we are going to
return to the consumers without contention. The class synchronizes the
rest of the operations.
LPS-47465 Convenience method to rebuild the collection of services from
the ordered set.
LPS-47465 Implement methods of the interface
LPS-47465 Add missing author tag
LPS-47465 SF
LPS-47465 SF
LPS-47465 SF