Refactor agent tests

- Rename test_tools to helper_test, so it's built at the right stage
- Move all cross-file test herlpers to helper_test
- Don't export test helpers
- Move all non-API tests out of api_test
- s/expected/want/g
- s/got/have/g
- Don't use a helper function to assert err != nil

This is a preparation commit for new functionality and new tests.
Use undo stack in container creation

If creation fails, walk the undo stack to undo any partial applications.
Add test for failing container creation
Large set of improvements/fixes to agent tests

- Don't use "/api/v0/..." string literals; prefer established declarations
- Don't hard-code a fixtureContainerRoot to a path that likely doesn't
  exist; prefer ioutil.TempDir + os.RemoveAll
Merge pull request #130 from soundcloud/failed-create-destroys-container

Failed create destroys container
Remove global variables from harpoon-agent.