Removed assert: true when installing dpl gem
Make JVM builds aware of gradle wrapper

JVM alreads know about build.gradle to make builds using pre-installed
gradle binaries. But Gradleware recomends a feature[1] where a gradle
wrapper script can be used so build can be more smart about required
gradle versions.

This commit makes Travis smart about Gradle smartness.

[1]: http://www.gradle.org/docs/current/userguide/gradle_wrapper.html
Without sbt configuration, scala behaves like jvm

Avoid code repetitions between scala builder and other JVM languages, by
applying same rules for build tool detection (Gradle, Maven and Ant)
Maintain the same code style for checking file existence
Add option to specify an apt cache.
Only set it up when a cache is configured.
Don't use regexp when the command is a string.

This escapes special characters like {} and ' in unfortunate ways.
Add tests for apt cache configuration.
allow running commands before and after deploy

* moves deployment to an internal deploy stage that will run after after_success
* adds a special before_deploy stage that will run before deploy, but only if we actually deploy
* adds a special after_deploy stage that will run after deploy, but only if we actually deploy
assert commands in before_deploy
Allow setting a custom npm proxy.
Who put that extra quote sign in here?
Change specs to use raw generated script for apt cache.

Unfortunately evaluating the build script removes the pipes from
the output, and using tee is currently the best approach I can
think of.
Remove todo.
Redirect tee line to /dev/null.
Change config for apt cache.

Now in line ith the npm cache config.
Change hosts to be fetched from data directly.
Merge pull request #135 from brixen/master

Add rbx-21mode alias. Closes #131.
Merge pull request #133 from travis-ci/rkh-deploy-stage

allow running commands before and after deploy
Merge pull request #132 from travis-ci/mm-apt-cache

Add auto setup of an apt cache to the build process