Disable exec symlink resolution for PostgreSQL 9.2

When building PostgreSQL with plugins under NixOS, NixOS will create a
postgresql-and-plugins directory which symlinks PostgreSQL and all the plugins
into a single directory. Unfortunately, the plugins will not actually be usable
by PostgreSQL because it will still try and locate them in the original
PostgreSQL share directory, not postgresql-and-plugins.

In this commit, I have patched resolve_symlinks to always return success, which
matches the behavior if HAVE_READLINK is false (so presumably invalid paths are
never passed to this function).
qtcreator: Update to 2.8.1
nixos/nginx: allow to specify which package to use

This enables to override which plugins to include with nginx by allowing to change
nginx package. I also removed webdav option in nginx nixos module, because you
can now specify this by overriding nginx package.
qtcreator: Make the qt package optional and introduce the QtSDK

To give the ability to use a different Qt version than the default one
(which can build 3 different times Qt Libraries if we mixed the default
one, the qtcreator one and the version including all the examples and the
docs).

Right now a developer can choose to directly install the QtSDK which
includes a "full" (developerBuild + docs + examples) Qt version and uses
it to build QtCreator.

The possibility to only install QtCreator and its previous behavior has
been kept for flexibility purposes (we do not need to force someone on the
SDK approach).
mesa: Minor fix on GL/gl.h

Apply a fix which prevented to use -DGL_GLEXT_LEGACY, -Werror and -Wundef
to be used together. This produced a build fail on any software meeting
these requirements.
Add Qt 5.1.1 and its SDK

Consider this as a first step towards the integration of Qt5 into nixpkgs,
it does not yet intends to replace Qt4 on every packages even if possible.
My goal here is to have a first derivation in common between people who
needs qt5 for development purposes.

The derivation has been written from scratch but I took care to read at the
version 4 to re-integrate some patches which are still compatible. However,
I did not had enough time to test gtkStyle and flashplayerFix as I do not
use any of them. Also, OSX users will have to do some extra work because
I do not have any mac.

Finally, as some configure flags have changed and in an hope to provide a
clear package definition before it becomes mature, I voluntary added some
flags which are default. Once every option will be mastered, we will just
have to redo a pass on qt5 configure flags and remove the ones which are
set by default.
php54: add pcntl option
vtk: Use the Qt libraries as an argument instead of a boolean

To prevent multiple Qt libraries when developing with a custom one, the Qt
support can now be activated by directly supplying the Qt libraries as an
argument (qtLib).

qtSDK and qtFull users/developers now just have to define an override such
as the following one in order to use it inside their development
environment:

vtk.override { qtLib = qt4SDK; };

The previous behavior is still the same for vtk and vtkWithQt4 end-users.

Change-Id: I517762d4ff7de46d32cc46e6e725fd62737caa52
pythonPackages.sympy: add expression
nixos: zope2 service: adding clientHome option
wpa_supplicant.nix: Add option types
Add a priority level for overrides in VM tests

Now that overriding fileSystems in qemu-vm.nix works again, it's
important that the VM tests that add additional file systems use the
same override priority.  Instead of using the same magic constant
everywhere, they can now use mkVMOverride.

http://hydra.nixos.org/build/6695561
Drop the EFI installer tests from the release-critical builds for now

They fail randomly due to a hard-coded 30-second timeout in udev
waiting for /dev/sda1 to appear:

  systemd-udevd[1151]: worker [1168] /devices/pci0000:00/0000:00:04.0/host2/target2:0:0/2:0:0:0/block/sda/sda1 timeout; kill it
  systemd-udevd[1151]: seq 1059 '/devices/pci0000:00/0000:00:04.0/host2/target2:0:0/2:0:0:0/block/sda/sda1' killed

Hopefully we can use virtio in the future for the EFI tests.

http://hydra.nixos.org/build/6695897
nixos-rebuild build-vm: Ignore the user's LUKS devices
linux: Update to 3.2.52
grsecurity: Update to 2.9.1-3.2.52-201310271550
Add option type "str" for unique strings

An annoying and dangerous property of "types.string" is that it merges
multiple definitions by concatenating them, which almost never
produces a sensible result.  (Those options for which it does make
sense typically should use "types.lines" instead, and things only work
because the option definitions already end in a newline.)  Of course,
you can use "types.uniq types.string", but that's rather verbose, and
inconsistent with other basic types like "types.int".

Changing the behaviour of "types.string" to be unique by default is
not an option, given the large number of options that use it.  So
instead, we now have "types.str", which is equivalent to "types.uniq
types.string".
Give types to the Apache httpd options
Support module keys that are paths
Add fixMergeModules back in

NixOps uses it.