installer: Add -U flag that does not update existing targets.
test: 'set -x' in inline targets. Do not add core in REQUIRE for inline targets.
Inline target meta-test.
tests/30-audio: Move distribution-dependent code to inline targets.
Fix bug when -b is specified and groups need to be created/modified.

Steps to reproduce:
```
$ sudo enter-chroot -n precise -u 0 groupdel hwaudio
Entering /usr/local/chroots/precise...
Unmounting /usr/local/chroots/precise...
$ sudo enter-chroot -n precise -b sleep 1
Entering /usr/local/chroots/precise...
Creating hwaudio group with GID 18...
wait: 476: Illegal number:
Unmounting /usr/local/chroots/precise...
```

 - env is only redefined after groups ID are checked
 - We do not want to silently ignore errors, so moving env redefinition earlier is not a good option
 - We fix the problem by checking if $pid is non-empty (should be safe in all cases)
Wrap sh to propagate set options more consistently.
Fix creating encrypted chroots. Fixes #517
Revert "Inline target meta-test.": Test needs manual checking and is not easy to automate in a sane way.

This reverts commit c2aa7da4a163d9475b198018685228f26297563f.
targets/audio: Allow overriding of ADHD_HEAD (for automated testing).
test/30-audio: Test other ADHD branches (compile-only).
targets/audio: Fix error handling:
 - local VAR="`false`" eats the return status: local declaration must be separated from assignment.
 - function calls in backticks are not called with `-e` in bash: explicitely call return
audio: Put 32/64 compatibility definitions in separate header file; Fix for >=stabilize-5062.
14-background: Test if groups can be modified/created when -b is specified.
Pick up default mirror from environment variables `CROUTON_MIRROR_<distro>[_<arch>]`.

This is mainly useful in the context of automated testing, so these variables can be set to a local mirror.

Can also be set by the user, but then `sudo -E` must be used to run crouton to make sure these variables get passed to the installer.
Make croutonwheel work with both gawk and mawk.

gawk does not support -W interactive: use fflush() instead (not POSIX, but supported by mawk and gawk).
However mawk does not obey fflush properly, so we still need to use -W interactive (see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=593504)...

mawk is faster, so we prefer it if it is available, and fallback on gawk.

Time to parse ~300K croutonxi2events, on a Samsung ARM Chromebook:

Original code, using mawk:
real	0m9.746s
user	0m6.540s
sys	0m1.340s

Modified code, using mawk:
real	0m9.728s
user	0m5.825s
sys	0m1.315s

Modified code, using gawk:
real	0m11.212s
user	0m9.070s
sys	0m1.320s

Modified code performs identically to original one on mawk. gawk incurs a ~50% performance penalty.
Replace which by hash.
Better implementation of unbuffered awk: unbuffered_awk shell function.

Detects which flavor of awk to use, prepends an unbuffered print function
definition to the awk program, and finally runs it.
update croutonclip to use unbuffered_awk
tests/14-background: remove rc.local instead of making a backup copy of it.
Merge branch 'fix_main.sh_T' of https://github.com/drinkcat/chroagh