Containers: Use systemd-nspawn startup notification

This prevents the container unit startup from hanging until timeout if
systemd-nspawn fails.
Enable parallel building for GCC.

Even if using profiledbootstrap.  This was unsafe before 4.8, and
then the documentation was not fixed on time.

The documentation got fixed here:
  https://github.com/gcc-mirror/gcc/commit/c763997f340ec1fab37ad538b57afdad4f4bf747

But the actual code was already fixed here:
  https://github.com/gcc-mirror/gcc/commit/5d2fca09d543d4b42b99fe20f412efb78cc50ec3

So this is safe both for GCC 4.8 and GCC 4.9.
Get rid of bootstrap-tools dependency from xz (and therefore stdenv)

0769fc5b77eb76c6a794187f173c48f912fc837c broke this by setting CONFIG_SHELL.
Merge #2823: better cygwin support, also add x86_64

Conflicts (easy):
	pkgs/development/interpreters/perl/5.16/default.nix
nixos/dhcpcd: Add an explicit interfaces option
nixos/dhcpcd: Use null instead of empty list to disable allowInterfaces
Merge branch 'master' into staging
gobject-introspection: refer to shlibs with absolute paths in typelibs

After this, LD_LIBRARY_PATH should not be required anymore.
The patch has been applied only for .la files, so there may
be some other cases missing.
Merge remote-tracking branch 'origin/master' into staging
Unify mutableUsers = { true, false }

With mutableUsers = true, we now ensure that all users and groups that
were created declaratively, are updated or removed
appropriately. Thus, adding a user to users.extraUsers and then
removing it now causes the acoount to be removed from
/etc/passwd. Thus user/group management is fully congruent except that
users and groups that were created imperatively (via useradd/groupadd)
are not touched. We distinguish between declarative and imperative
users/groups by tracking the former in
/var/lib/nixos/declarative-{groups,users}.

With mutableUsers = false, you are now no longer required to specify
UIDs/GIDs for all users. The handling of mutableUsers = true/false is
the same code path; the only difference is that the "false" mode
ignores the existing contents of /etc/{passwd,group}.

The attribute ‘createUser’ is gone. It doesn't really make sense to
specify users that shouldn't be created.
Add user attribute isNormalUser

This is shorthand for setting group, createHome, home, useDefaultShell
and isSystemUser.
systemd: Fix uninitialised memory issue in veth setup

This caused containers to randomly fail, in particular if the machine
name was 8 characters.
perl: Disable tests

It appears that these got re-enabled accidentally in
d1ed0f44cd154926e761cedee1cee72e55345807.

http://hydra.nixos.org/build/13369824
binutils: Enable sysroot support
MPV: update to 0.5.0

Many thanks matejc for the commit!
Fix setting an empty password
gcc: Revive the no-sys-dirs patch

For now, we don't NATIVE_SYSTEM_HEADER_DIR because it breaks the
build. However, it points to Glibc in the Nix store (not /usr/include)
so it's kind of okay.
nixos/xfce: don't set a bloated GST_PLUGIN_PATH
nixos/environment: do not set GST_PLUGIN_SYSTEM_PATH
xfce4-mixer: use wrapper to set GST_PLUGIN_SYSTEM_PATH