twitter-oss: Introduce Dodo build stage in TravisCI config
twitter-oss: Introduce Dodo build stage in TravisCI config

Problem

Currently, running the dodo script to build the dependencies
of a project happens *before every job* when it only needs
to run only once before all jobs. This causes unnecessary
computation and churn. Additionally, we are running
"./sbt update" unnecessarily as it was done because of the
flakiness with `maven.twttr.com` in resolving dependencies
which would kill builds. Since we no longer rely on it, we can
remove the manual resolution of dependencies in the jobs.

Solution

Introduce a Dodo build stage and order it before the default
test stage such that it runs before any testing and only
once. The output is cached, which is then used in the subsequent
jobs in the test build stage.

This has the additional benefit of removing the time spent
building with dodo from the test jobs, which means they have more
time to finish within the TravisCI job timeout.

Result

Better stability with our TravisCI testing. Building with Dodo
is only run once for the TravisCI build, it has up to the default
time for a job to finish, and every test afterwards also now
can spend up to the maximum timeout to actually run tests.

JIRA Issues: CSL-6974

Differential Revision: https://phabricator.twitter.biz/D219136

twitter/scrooge,twitter/scrooge,twitter/scrooge,twitter/scrooge