use only one transaction controller instance in our test suite
Refactoring removeService() & removeRegistry() from ServiceContext to ManagementContext.
Child services are automatically cleared when parent is gone thus user don't
need to deal with child services removal. On the other hand top level services
can be removed only by TransactionController owner who registered them.
adding security check for creating transaction controller
introducing TransactionController.owns(Transaction) method
TransactionController.validateTransaction() throws SecurityException instead of IllegalArgumentException
Fix ServiceName.toString, which was concatenating parent name multiple times.
Prevent multiple equal service transitions when more than a notification trigger a transition call.
Add new ManagementContextTestCase. Plus: add support to multiple registries at AbstractServiceTest and make TestService.toString user-friendly (for tracing failing tests purposes).
Make ServiceBuilder.intall throw DuplicateServiceException if there is already a service installed with same name/alias.