Add API authentication helper.

This is a small helper service that takes Basic Auth credentials and turns them into custom HTTP headers that an API can look at.

Eventually this will grow to support OAuth credentials instead (but probably not in this PR).
My comment was about the way the test is written, not what the test tests.

I would probably have written this specific test as follows:
```python
    @inlineCallbacks
    def test_valid_credentials_in_query(self):
        auth_info = {...}
        self.app_helper.set_access_token('access-1', auth_info)
        resp = yield self.app_helper.get('/foo/?access_token=access-1')
        yield self.assert_authorized(resp, auth_info)
```
It's more verbose than the current version, but it's much easier to follow what is being tested. Also, having the test data defined in the test itself makes it less likely that unrelated changes will break things in subtle and dangerous ways.