travis: cache bundle across jobs

Installing dependencies via Bundler can make up a large portion of
the build duration. Caching the bundle between builds drastically
reduces the time a build takes to run.

Caching does not become effective until this commit is merged
to master. At that point, `bundle install` on travis takes
20-30 seconds instead of several minutes. If a branch modifies
the gemspec, then that branch starts with the cache but still
uses the updated gemspec.

In my experience with travis-ci bundler cache, only the default
branch *writes* the cache. All other branches merely *read*.

http://about.travis-ci.org/docs/user/caching/
Merge pull request #349 from jumanjiman/cache

travis: cache bundle across jobs