db: remove unused and rarely used indices

These indices have never been scanned on the production database:

 heroku pg:unused_indexes --app travis-production
      table      |               index               | index_size | index_scans
-----------------+-----------------------------------+------------+-------------
 public.commits  | index_commits_on_commit           | 532 MB     |           0
 public.builds   | index_builds_on_state             | 161 MB     |           0
 public.commits  | index_commits_on_branch           | 149 MB     |           0
 public.users    | index_users_on_github_oauth_token | 16 MB      |           0

users.github_oauth_token is an encrypted column, so no query can be filtered on
that column.

The build(finished_at), jobs(queue,state), jobs(created_at) and
jobs(repository_id) indices have very rarely been used:

         indexname             | index_size | index_scans
-------------------------------+------------+-------------
 index_builds_on_finished_at   | 131 MB     |          98
 index_jobs_on_queue_and_state | 740 MB     |          19
 index_jobs_on_created_at      | 681 MB     |          38
 index_jobs_on_repository_id   | 580 MB     |          31
allow per-channel key to be specified for IRC notifications
docs(README): Update README and add READMEs in sub-directories
db: don't remove the jobs(repository_id) index

This index can be useful when debugging, otherwise one would have to
do this via builds.
docs(README): fix bad hard wraps in the main README
docs(api): add README to lib/travis/api
Add find_requests service and requests API data

At the moment we don't do a great job when it comes to communicating
what's going on under the hood when you push a build to github - it
either shows on the builds list or not. In the latter case users may be
left in the dark, which I suspect may be more common in the future, when
we move such things like "exclude branch" to the repository settings
pane.

This commit reveals part of the request data, which we can use to show
what did we get from github and if it was accepted.
Raise when repository can't be found in find_requests
[find_requests service] Parametrize limit for recent requests
[find_requests service] Format dates in the same way as in other services
fall back to old channel_key config if given
Merge pull request #356 from travis-ci/hh-readmes-everywhere

Update README and add READMEs in sub-directories
Merge pull request #355 from akerl/irc-key-fix

allow per-channel key to be specified for IRC notifications
fix(spec): don't stub in before(:all)

This causes the stubs not to get torn down after the test, and they can
resurface again at a later point, leading to some interesting test
failures.
Merge pull request #350 from travis-ci/hh-indices

db: remove unused and rarely used indices
chore(db): update structure.sql file
fix(stubs): add owner to repository stub
feat(fetch-config): feature flag the osx_image config key
Include commits with requests in API
Add details about params to RepositoryNotFoundError