Initial work on porting hgc-deploy to Haskell.

Extract some shared functionality.
Rename project
Work on getting union mounts working.
Add clone-capsule support.

Establishes the temporary directory and updates config/fstab.
Currently not tested on a system with CVMFS installed.
Bugfix - mkdir based on resource not resourceC

resourceC is the canonical version, which is used to show the
'from' in the fstab, rather than the version which is used to determine
the 'to' and hence needs to be created.
Add 'withContainerDaemon'.

Allows things to run with a container running whilst ensuring
that the container is stopped upon abnormal (or normal) exit.
Fix printf line for overlayfs.
Working version.

Currently lacking a few features:
 - Needs to configure the container to run as a normal user.
 - Not sure that mounting is working - test!
Get mounting working.

This involves a small change to Mount.hs and hence to hgc-version,
which should be tested.
Fix a silly bug.

hgc-version was failing because I was appending the internal mount
directory onto the external mount point (and this had no effect
anyway because the external mount point was absolute).
Make system calls 'safe'.

All calls out to system are now done in a clean environment, to avoid
against an external attacker modifying environment variables in order
to execute other programs as root.

Also, where possible external calls have been replaced with library
functions using FFI.
Add the user into the container.

Still to do:
- Autologin
- Entry in /etc/shadow (not sure if this is needed)
Fully working version.

Now sets up autologin system.
Also revert the 'touch' change, since it seems that 'touchFile' does
not work if the file doesn't exist, negating the point.
Externalise static configuration options for hgc-deploy.

Now stored in Hgcdeploy/Config.hs, although it annoys me that Haskell
doesn't allow '-' in module names, because now I think it looks messy.
Don't barf on failing to stop the capsule.

Failure to stop is usually just because it's already stopped.
Create the correct directory!

Think this should be properly working now.