Initial implementation of services and dependencies.
proposal of MSC2 services API
eliminating ServiceContainerBuilder as proposed by Flavia
resuscitating ServiceName according to discussion
some ServiceContainer methods expect Transaction parameter
Add some more classes/methods to the API. Also: refactor the API, and split the ServiceContainer into ServiceContainer and ServiceRegistry.
Use package protected instead of protected classifiers.
(To clarify what is API and what impl. detail)
Eliminated msc.values package
we don't support containers auto shutdown anymore
ServiceContainer has start & stop methods
eliminated BatchServiceTarget
introducing Transaction.getServiceTarget() & ExecuteContext.getServiceTarget() methods. TaskController doesn't implement TaskTarget anymore
Fix  service removal transition for replaceable dependencies.
Suppress ServiceController.setMode method.
eliminated TransactionalContext.begin()/end() methods
Revisited ServiceTarget & ServiceBuilder API
 * unified ServiceTarget & ServiceBuilder method signatures
 * removed bulk operations (e.g. removeDependencies)
 * disabled some implementation details for now - until we have consistent API
ExecuteContext.begin() no longer exists.
replacing addDependency(ServiceContainer,...) with addDependency(ServiceRegistry,...)
introduced ServiceContext
Add first service test cases.