[FLOC-965] Acceptance testing against rackspace.

This is based on #1010. The relative diff is [here](https://github.com/ClusterHQ/flocker/compare/acceptance-runner-FLOC-1070...rackspace-acceptance-FLOC-965).

The linking tests fail due to [FLOC-1084](https://clusterhq.atlassian.net/browse/FLOC-1084).

TODO:
- [x] instance metadata
- [x] underscores
- [x] error reporting
- [x] usage documentation (including sample config)
- [x] buildserver config

I may just have been sleep deprived or otherwise in a dim state of mind (so, sorry about that).  Personally I've always found mentally distributing a `not` across a compound clause takes more effort so I think the previous form was probably more readable (again, for me personally).

I think the objectively simpler version would be something like:

```
    tests_passed = not run_tests(...) # or invert the meaning inside run_tests
    ...
    if tests_passed or options['keep']:
        runner.stop_nodes()
```

(fingers crossed I got the truth table straight this time)