Add a means of listing installed software versions

We add a YAML-driven way to list installed software versions
at the end of the template createion.
The commands to list the versions of the desired software
will be indicated in each worker.*.yml file as the
'list_versions_by' array.

In general, this array will be constructed by listing
apt packages, and using appropriate shell commands.
List software verions for standard image

* We want versions of the installed packages, so use 'dpkg --list'
* Some commands are installed only for 'travis' user
  (Ideally, we should parametrize the user name)
* Some commands are massaged so that the output is of the form
  "SOFTWARE_NAME VERSION"
List software versions for ruby templates
Print rvm version in standard images

This version is common to all images
List Python versions

~travis/virtualenv shows aliases as well
Also show the compile time options for the default version of Python
and modules installed by pip
Install OpenJDK 6 for Android images

Some Android apps require it; getting around it is easy,
but would require sudo doing so.

See https://github.com/travis-ci/travis-ci/issues/2678
List software versions for PHP image
List software versions for Perl image
List software versions for Node.js image
List software versions for JVM image

Skip printing sbt version since it appears to require an sbt
project to do it
List software versions for Haskell image
List software versions for Go image
List software versions for Erlang image
List software versions for Android image
Use sudo when appropriate
Sort output for easier parsing
Use sudo when appropriate
Show Leiningen versions
Update Go to 1.3.1
Default to 1.3.1 on Go workers