Make nix-modules available when defining user environments.

A new user specific configuration file is introduced.
It is located in "~/.nixuser/configuration.nix".
The idea is to have a declarative approach for defining the user environment
at some point. The configuration file acts as the input of a module evaluation
system, similar to "/etc/nixos/configuration.nix" for the NixOS configuration.

A new file "nixos/modules/nixuser-module-list.nix" is added.
The file lists modules that are made available both for system configuration
and for user configuration.
The file is imported by "nixos/modules/module-list.nix" and is used in
"pkgs/top-level/all-packages.nix".
For two reasons.
On the one hand I didn't want to change the way how ~/.nixpkgs/config.nix is used.
On the other hand the content of ~/.nixpkgs/config.nix can be integrated into ~/.nixuser/configuration.nix as attribute set nixpkgs.config. That way there would be a clear symmetry between the NixOS configuration under /etc/nixos/configuration.nix, and the new nixuser configuration under ~/.nixuser/configuration.nix