Add ServiceStartExecutable, ServiceStopExecutable, ServiceStartRevertible, and ServiceStopRevertible. Delete Service interface.
Add tests for enabling/disabling registries/services in separate transactions (as these new tests will reproduce different scenarios, internally, than the corresponding pre-existing tests).
Test tidy up: remove print statement from RollbackServiceStateTestCase, and properly ident statement at AbstractTransactionTest
Eliminated TestValidatable utility class
Transaction.adoptGrandchildren() must be called outside of
TaskControllerImpl.renounceChildren() synchronized section.

We use !holdsLock(this) assertions in TaskControllerImpl notification methods
as useful deadlock prevention. If Transaction.adoptGrandchildren()
could be called from synchronized section, these assertions would violated.
Transaction.topLevelTasks iteration must be thread safe - it can be modified concurrently by Transaction.adoptGrandchildren() method
fixing race condition - Transaction.adoptGrandChildren() must propagate ROLLBACK requests to adopted children.

Usecase:
It is possible that transaction received rollback() request but it didn't notify all topLevelTasks yet. Such information may get lost during adoption process.
Rollback transaction eagerly plus extend the test suite to cover this feature.

If transaction rollback is requested, we're sending ROLLBACK request
immediately to all already registered topLevel tasks. If new tasks
are added to transaction, they're asked to rollback during installation phase.
Note that we cannot immediately reject new tasks when rollback() was requested,
because such tasks may be installed from some transaction Executable component,
so it is still valid to accept new tasks if we're still at ACTIVE state.
Transaction moves from ACTIVE to ROLLBACK state once all transaction tasks
are executed.
support for easier debugging - to know which AsyncTask belongs to which Transaction or TaskControllerImpl
Refactoring Transaction and TaskControllerImpl state machines.

Fixing state machine counters plus making sure all
interaction methods are called outside of synchronized
section to prevent deadlocks.
Removing Validation related classes from public API - they will be removed later