Merge pull request #192 from drinkcat/croagh+push

Minor fixes to the croagh framework.
Fix unmount when a chroot name is a prefix of another.

E.g. unmounting `precise` will also umount directories under `precisecore`, as grep matches any
mount that starts with `/usr/local/chroots/precise` .
unmount-chroot: Use basic regex instead of extended.
Fix traps in main.sh:
 - Make sure we exit on interrupt
 - Make sure clean-up commands are not executed twice
Add addtrap function. Do not run exit 2 on EXIT trap.
Make sure chroot is completely copied on bootstrap.
Use settrap/addtrap in other parts of the code.
Merge branch 'croagh+push' of git://github.com/drinkcat/chroagh into croagh

Autodetect dbus user and group in enter-chroot.
Merge branch 'croagh+trap' of git://github.com/drinkcat/chroagh into croagh

Improve trap handling.
Add undotrap function and clean up comments.
Pull out common functions into a library file.
Detect installed release via distro-specific getrelease scripts.
Improve the install and install_pkg descriptions.
Save and print the release in croutonversion.
Avoid console spam when processes exit at inopportune times in unmount-chroot.
Add backups, restoring, and a spinner to edit-chroot.

Fixes #190.
Merge branch 'master' into croagh
Allow directories in edit-chroot -f.
Merge branch 'master' into croagh
Add automatic device synclient settings. Fixes trackpad on Butterfly (#214).

This could be used to optimize trackpad performance on any device.