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".
I don't like having yet-another directory.  Having this file under ~/.nixpkgs/configuration.nix would be better than ~/.nixuser directory.  Then moving the package override within this configuration.nix file sounds indeed like a good idea for making configurations system wide.

To be honest I think this deserve its own pull-request, independently of the vim configuration.