Add assertions to prevent dangerous behaviors during service install
More refactoring: remove newTask methods from ServiceContext, move a few more methods from Transaction to TransactionController, create a TestService that uses the new ServiceBuilder API in the way it is intended to.