Launchpad automatic translations update.
provision-vagrant: A few changes to support other container systems.

This is preliminary work to remove some Vagrant assumptions, to enable
using the same provisioning script with other container/virtualization
systems (particularly to add support for LXC).

- Short explanation of how the script runs
- Made CHECKBOX_TOP relocatable to the parameter the script receives,
  though we default to /vagrant if we didn't receive anything else.
  This is because test-in-lxc can place the source tree in an
  unpredictable location and provision needs to be aware of the
  location.
- Made the Vagrant sanity check conditional on $CHECKBOX_TOP being
  /vagrant.
- Modified the code to create the $HOME/src symlink to account for
  different container/VM engines since lxc behavior is different from
  Vagrant, this is explained in the comment for the last section of
  the script.
test-in-vagrant: run commands on the vm in $HOME.

Instead of assuming ssh into the virtual machine places me into my home
directory, explicitly reference $HOME in the commands, to make this an
absolute path. This still works because the $HOME parameter is expanded
once we are *inside* the VM so things will reference the correct
location, while being more compatible with what test-in-lxc (which will
expand $HOME to the invoking user's home, rather than that of the
container's user) does. Note the test-in-lxc behavior is a bit strange
but consistent and it works as long as --keep-env is used.
test-in-lxc.sh: Added script to perform per-commit testing with LXC.

This mimics test-in-vagrant.sh, but using an LXC container instead of a
Vagrant/Virtualbox virtual machine.

The tests run once the vm/container is up are identical to the ones run
by test-in-vagrant, they're only run using a different command. A good
to-do would be to extract that "inner" set of tests so it can be reused
independent of the container/VM used.

LXC is not much faster than Vagrant (maybe 50%-100% as fast), but a crucial
advantage is that it should be lighter on resources and run on a cloud
machine instance without nested hardware virtualization support.

A disadvantage is that LXC commands need to be run with sudo, which
requires a bit more configuration than Vagrant.