Allow commands to return Twisted deferreds, catch any exceptions which occur and handle correctly. Add utilities for mocking rooms and clients.