fix(agent): Start/stop units asynchronously

Fix #466
refactor(agent): Drop single-use method newFakeMachine
refactor(agent): Move fakeMachine to machine pkg
test(unit): Add FakeUnitManager
Merge pull request #488 from bcwaldon/fakemachine

Relocate fakeMachine
Merge pull request #489 from bcwaldon/unitmanager

Add FakeUnitManager
Merge pull request #486 from bcwaldon/466

fix(agent): Start/stop units asynchronously
feat(unit): add InstanceUnit helpers
Merge pull request #475 from jonboulle/template_units

feat(unit): add InstanceUnit helpers
feat(job): substitute Requirements for instance unit jobs