notifications: Add build_id as a template variable

Closes travis-ci/travis-ci#1333.
Don't reset matrix state if all jobs are still running
Adding X-Travis-Repo-Slug header to webhook requests

so that consuming the request body isn't necessary to calculate the
validity of the Authorization signature.
Switching to a non-X header per rfc6648

plus removing rand in the spec per feedback from @henrikhodne.
Kill autoload
First implementation of repository settings
Allow to actually save settings on repository object
Add find_repo_settings service
Make authorized method public on FindRepoSettings
Add better support for defaults for Repository::Settings

Defaults are set in a redis field and are overwritten by saved settings.
Add Repository::Settings#get for fetching a path
Add first option to repository settings: builds_only_with_travis_yml

Setting it to true will reject any build, which does not contain
.travis.yml file.
Rescue Redis::BaseError, not StandardError in retry
Fix Settings.defaults to work correctly when an empty string is fetched from redis
Keep defaults in the code