Added ctags git hooks, switch to Supertab.vim.

Git config changes:

Git repository hooks are added to automatically generate ctags per commit,
merge, rebase or checkout. Also, I can now use `git init' to import these
hooks into existing repositories. This method has following merits:

- Because tags are generated in .git directory, there is no need to worry
  modify .gitignore file.

- I use fugitive.vim by Tim Pope, who hard-coded in his brilliant plugin to
  search for tags in .git directory.

- Because ctags generation script is a separate file, I can modify it on
  a per-repo granularity, and also issue one-off tag generation manually.

I added an alias: `git ctags' to issue one-off ctags generation.

Git config fixes:

- Changes git commit message editor from `mvim' to `mvim -f' so it can work
  properly.

Vim config changes:

- I switched completion plugin from neocomplcache to supertab, because
  neocomplcahe is just TOO slow!

- However, I am still exploring a way to display snippet candidates in
  completion popup-menu.
Fixed yankstack mapping; use Command-T for speed.

- I changed yankstack.vim key mappings to those of Yankring.vim. I never use
  <c-p> and <c-n> in normal mode for navigation anyway, so it is OK to use
  them for swapping yank candidates. BTW, I can use <M-p> to switch auto-pair
  again.

- CtrlP.vim is too slow for me. On the other hand, Command-T uses Ruby with
  C extension to achieve much faster performance when searching in a large
  collection of files. Now I keep CtrlP.vim only for its "jump to symbol"
  fuzzy matching.