refactor(functional-tests): Modify the Cluster interface

* Add CreateMember, DestroyMember, Members, MemberCommand
* Make CreateMultiple a helper - CreateNClusterMembers
* Rename DestroyAll to Destroy
fix(functional-tests): Correctly identify zero machines
test(functional): Refactor smoke tests into specific cluster tests
Merge pull request #290 from bcwaldon/cluster-testing

Moar functional testing
Merge pull request #289 from jonboulle/master

Remove double RefreshState on fleet startup. Various other logging and error handling cleanup.
test(functional): test single-node shutdown
fix(agent): Stop jobs when purging Agent

Fix #292
Merge pull request #293 from bcwaldon/node-shutdown-testing

Fix #292 & further testing of node shutdown
fix(registry): nice presentation for job existence
docs(contributing): merge changes from template and split out DCO