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 the same miniscripts run
by test-in-vagrant, the "run loop" is identical except that they're run
using a different command (lxc-attach instead of vagrant ssh).

Testing under LXC is not much faster than Vagrant, since the bulk of the
time is spent in the provisioning phase (downloading + installing
packages) which doesn't benefit from LXC's faster creation and startup
times, but a crucial advantage is that it should be lighter on resources
and run on a cloud machine instance without nested hardware
virtualization support. The script includes a KEEP_DATA variable which
can be left blank to use memory-backed overlayfs for the ephemeral
container (this is very fast), or set to --keep-data to use a dir-backed
overlayfs, which is slower but better for low-memory environments. 2 GB
RAM are needed to use memory, and I suggest 4 if possible.

A disadvantage is that LXC commands need to be run with sudo, which
requires a bit more configuration than Vagrant. Required sudo
configuration is described at the top of the script.

Tests are referenced to $HOME, which in the LXC container is *not* the
$HOME of the logged-in user, but the $HOME inherited from the invoking
environment. However this works because the provisioning script creates
the $HOME/src symlink, similarly, referencing the invoking $HOME.  This
test-in-lxc behavior regarding $HOME is a bit strange but consistent and
it works as long as --keep-env is used.
mention LXC in the documentation