Initial implementation of the swift backend

So, there's a few TODOs left:

- [ ] implement the `NotImplementedError` functions
- [ ] remove hardcoding for rackspace
- [ ] tests
- [ ] integration tests

Before I finish it up, a few questions:

- `do_lzop_get` seems to have a lot of logic duplicated between `wabs` and `s3`, how can we improve this?
- Is there any documentation between the backend contracts? I can't figure out where the `key` in `write_and_return_error` comes from.
- OpenStack has a few more parameters than other backends (e.g. `authurl`), how should we pass those?
- Other questions I haven't thought of!