Refactor Emacs configuration

Use less autoloads, store nothing but requirements in init.el, divide
everything into small modules.
Require defaults-related Vim plugins on the top

Solves the fish shell problem. By default, Vim sends shell commands to
the shell you're in plugins like Syntastic use it while Fish is not
POSIX-compilant. It breaks everything.

https://github.com/yegortimoschenko/modern.vim solves this issue just
like vim-sensible does: if you're using shell, it fallbacks to /bin/sh.
The problem is the relevant code is triggered too late.

After I have moved this requirement to the beginning, it should be fine.
Revert "Delete fish config"

This reverts commit 73ca0c6c4fb641fd71670e9e4f6a2f7d06ae2cc4.

Zsh is not nearly as comfortable as Fish is, unfortunately. There is no
sane way to reimplement nifty Fish features in Zsh, period. Even if you
try, it results in zsh 4 seconds startup time and ultimate lagging.

I love POSIX shells and I love !! command, but still Fish
has more pros than cons.

And yeah, Fish has a lot of common with Csh.

Conflicts:
	.vim/autoload
Move .emacs.d into separate repository
Move bin into separate repository
Move .vim into separate repo
Delete .zshrc
Reorganize dotfiles to be linked into ~/.config
Move functions into separate files
Remove .hushlogin
Further refactorings
Add ... and .... aliases