[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'm not a big fan of this pattern.  Given these types are defined right next to the fabric-based runner, I'm not sure this is much better than just putting methods on those types and then calling them.  I can imagine how keeping fabric code off of those types might make it easier to use them with a different system later (ie, something other than fabric) but this might be premature generalization - a non-fabric implementation might not even fit in to the "Put" / "Run" model (and ideally it wouldn't since "run this opaque shell blob" is one of the shortcomings of fabric).