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'm just afraid that moving configuration.nix under ~/.nixpkgs as well could lead to confusions, especially for people who are new to Nix/NixOS. Wouldn't it be better to have it under ~/.nixuser for now, and then to phase out ~/.nixpkgs slowly?

I will provide a separated PR for the ~/.nixuser/configuration.nix related changes. The vimProfile stuff is only here to show a use case of the new configuration possibility.