archive logs

Putting this up for discussion.

https://api-staging.travis-ci.org/jobs/385667/log.txt

This gets a basic log archiver started. It basically does the following:

* triggers an event `log:aggregated`
* adds an addon `Archive`
* listens to `log:aggregated` and queues archive tasks
* the task fetches the given log from the http api and stores them to an s3 bucket:  https://api-staging.travis-ci.org/jobs/385667/log.txt

Required improvements:

* [x] make it possible to run log update tasks locally on `travis-logs` but log archive tasks remotely on `travis-tasks`
* [x] keep tabs of archiving (stores `archived_at` and `archive_validated` on the log now)
* [ ] auth the `PUT to /artifacts/:id` api endpoint
* [ ] redirect from api to s3 for now
* [ ] adjust the client to use the log url
* [ ] actually remove archived logs from the db

Things to consider:

* when exactly should the archiver run?
* what should the url look like? do we need versioning?
* how to deal with deansi