Make the build more robust by adding retries to maven dep fetching.

We also expose the `PLATFORM` variable to `run-tests`, allowing it to
distinguish hadoop environments from hypothetical cassandra ones.

It exploits this knowledge using the `--projects` maven flag, letting
us pick and choose which submodules to test.

Since maven has recently started experiencing problems with running
out of permgen memory, we dial the default values up with
`MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m"`.

Since we can't disable findbugs completely (no, the things
you found on google are not going to work) we configure it to at least
not fail the build on violations.

Due to travis log file size limits, we can't actually just let maven
say what its doing when downloading dependencies: there really are
that many of them.  We also can't just redirect it to `/dev/null`,
since a sufficiently long period of silence will also halt the build.

Instead we report a message every 30 seconds while resolving
dependencies.

We also toss on some swap for travis.