Add SimpleService interface.

Add proper handling of simple service start and stop to Starting/StoppingServiceTasks, and create a new
SimpleServiceTestCase.
Fix bug that caused inconsistent ServiceControllerImpl.unsatisfiedDependencies count.

This fix garantees that the dependencyUp and dependencyDown notifications are sent only once, as opposed
to before, when a notification could be sent more than once if the new dependent were added at the exact
same time the service is starting (new start task already created, but service is still starting).
When user tries to use a terminated transaction with any of the service API methods, throw an InvalidTransactionStateException
indicating that the transaction is terminated.