Add support for global LXC config files
experimental/vim-vam-pathogen-vimrc-support

This patch implements derving a .vimrc from vim-plugins.nix loading those
plugins by either Pathogen or VAM (VAM seems to be slightly faster and is much
more powerful).

Example:

  environment.systemPackages = [
   # default plain vim
   vim_configurable

   # vim which get's called vim-with-addon-nix
   (vim_configurable.customize {
      name = "vim-with-addon-nix";
     vimrcConfig.vam.pluginDictionaries = [{name = "vim-addon-nix"; }];
   })
  ];

This way you can provide an "enhanced Vim" and a standard Vim.

Details about what this commit changes:
1) provide a new toplevel name vimrc which
  * provides a way to build up a .vimrc using either pathogen or VAM (knowing about plugin dependencies by name)
  * can enhance vim to support. vim.customize { name = "name-user"; vam.pluginDictionaries and/or pathogen.pluginNames = .. }
  * introduce rtp names for each vim plugin pointing to the runtimepath path
  * suggest naming to be the same as vim-pi so that VAM's dependencies work
  * derive some packages as example from vim-pi using VAM's new autoload/nix.vim
    supporting simple dependencies
  * test case for vim-addon-nix for VAM/pathogen

2) enhance vim_configurable to support .customize

3) update many plugins by using VAM's implementation not rewriting those which
  * vim-pi doesn't know about the git source yet (TODO: make vim-pi be aware of
    those)
  * have special build code

This commit partially conflicts with commits done by Bjørn Forsman starting by
37f961628b, eg the one using lower case attr and pkg names, because they don't
match vim-pi (eg YouCompleteMe). Rather than resolving the conflict this just
adds aliases so that both names can be used
pythonPackages: add pyalgotrade
pythonPackages: add scikit-learn
zfs: Add upstream patch bc151f7 to fix kernel 3.18 builds

Additionally, recognize that the contents of the nix-build.patch are
included in the upstream tree as 3cd33ff and will be released in 0.6.4.
dnscrypt-proxy: new expression
Add dnscrypt-proxy service

The dnscrypt-proxy service relays regular DNS queries to
a DNSCrypt enabled upstream resolver.
The traffic between the client and the upstream resolver is
encrypted and authenticated, which may mitigate the risk of
MITM attacks and third-party snooping (assuming a trustworthy
upstream).

Though dnscrypt-proxy can run as a standalone DNS client,
the recommended setup is to use it as a forwarder for a
caching DNS client.
To use dnscrypt-proxy as a forwarder for dnsmasq, do

```nix
{
  # ...

  networking.nameservers = [ "127.0.0.1" ];
  networking.dhcpcd.extraConfig = "nohook resolv.conf";

  services.dnscrypt-proxy.enable = true;
  services.dnscrypt-proxy.localAddress = "127.0.0.1";
  services.dnscrypt-proxy.port = 40;

  services.dnsmasq.enable = true;
  services.dnsmasq.extraConfig = ''
    no-resolv
    server=127.0.0.1#40
    listen-address=127.0.0.1
  '';

  # ...
}
```
prl-tools: add package
nixos/parallels-guest: add options
ipopt: add package
Merge pull request #4953 from abbradar/ipopt

ipopt: add package
tibia: update to 10.62
apache-httpd: add mod_access_compat for compatibility with old httpd-22 configurations
Catalyst::Runtime: Require Term::Size::Any

Otherwise you get stupid warnings all the time.
add labeled-tree
Merge pull request #4960 from jyp/hask-pkgs

add labeled-tree
Merge pull request #4959 from robberer/modules/httpd24

apache-httpd: add mod_access_compat
haskell-PastePipe: update to 1.7
Fix envHooks setting: don't kill previous hooks
Support more quicklisp upstream source types