refactor(Gemfile): clean up dependencies

We no longer need travis-core in travis-build. The tests showed that
addressable and activesupport are still required.
feat(app): add a sinatra app
feat(api): add authentication

While there's nothing sensitive being provided by the API right now,
this effectively enforces that this is a private API and that it might
change at any time.
fix(api): update rerun command to handle puma

The -o was a leftover from when rackup was being used earlier in
development. Puma does not use this switch.
feat(api): move API to a class using Sinatra::Base
Update Gemfile.lock
api: add Sentry support
Update Gemfile.lock
Start the correct Sinatra app
Add faraday client to test API endpoint

Be sure to set necessary environment variables
Use JSON for payload
Dump resulting script to STDIN [skip ci]
remove the no longer used options
api: pull configuration from environment variables
api: use the correct config
update gemfile.lock
api: remove configuration again

The different workers need different configurations, so let's leave the
responsibility of setting it to the workers for now.

For example, the OS X workers currently need to use a different bucket
and different credentials. The Docker worker needs to enable paranoid
mode, etc.
api: add some basic error handling