Update nodes/php module

The recent release changed the module name
Configure Apt sources to use Ubuntu mirrors

Makes local package downloads much faster
Move Emacs provision into separate class
Improve Puppet provisioning dependencies

Split Python and Ruby installation into separate modules. Make sure that
Ruby and Python are available before installing Gems and Pip packages
respectively.  Also make sure that apt-get sources and indexes are up to
date before installing packages.
Include the Ruby class to provision Gems
Don't require Ruby provisioning on Travis CI
Use side-effect free sorting

Fixes test failures because sorting messed up the option-vars checker
properties.
Expect failures for hdevtools tests

Hdevtools doesn't install with "cabal install" anymore, thus these tests
will fail in either case.
Inhibit readonly while cleaning messages

In Emacs snapshot, *Messages* is read only
Don't change sources.list when provisioning Travis
Refactor selection tests