Begin using the state machine for node deploy/teardown

Start using the state machine:
- first, add a process_event() method to TaskManager
- then, use it for both do_node_deploy and do_node_tear_down
- finally, add it to cleanup_after_timeout

This simplified both methods in ConductorManager, and also exposed a few
shortcomings in unit tests.

Related-To: blueprint new-ironic-state-machine
Change-Id: If2bb15c8300d28551946ff6053da6713faaadb4b