Commenting 'ta' alias

Handy alias that:
 * reloads some tmux environment variables (notable ssh-agent)
 * or attaches to a running session
 * or create a new session
Miscellaneous updates (nothing particularly notable)
Various vim updates

Notable changes:
 * using a tags file
 * mapping <esc> to nohlsearch so that hlsearch is useful
 * adding relative line numbers (makes jumping easier)
 * coloring column 81
 * some color overrides
zsh prompt changes

 * including git branch name
 * including hg marker (bookmark/mq name detection is too slow)
 * including date in RPROMPT
Adding vim session cleanup script

Mostly using a session file as a list of opened buffers so that I can
resume from where I left off. The cleanup script removes buffers that
are now gone.
Making git auto-complete sane on huge repository
Minor .zshrc cleanups

Nothing significant
Logging and timing all commands executed

 * log the command executed in preexec
 * calculate elapsed time in precmd
 * use count-commands.py to log the command (and elapsed time)
 * use top-commands.py to do top command aggregation counts

Since this is used interactively, using the current timestamp
(millisecond precision) should be good enough as an identifying key for
the later update with duration info.
Adding vim key logging

Still in testing and evaluation, but the basic idea is to log all the
vim key presses and do analysis from there.

Basic analysis/exploration (count-vim-letters.py) so far:

 * most common key presses
 * various session stats
 * fast substring searches (uses a suffix trie)
 * input buffers searching (and highlighting)
 * input length histogram
Using floating points for command time logging

Floating point maths is easier to understand since you don't have to
remember the bias applied. Since we're using a floating point as the
timestamp, using it as the primary key could be problematic, hence using
uuidgen to create an id for each row.
Making count-commands error messages stand out a bit more
Tweaking color of git prompt
Experimental zsh input mode indicator

Adding a cyan [CMD|INS] in the RPROMPT to show zsh input mode. This is slightly buggy though:

 * going into normal mode eats up the previous line
 * <C-c>'ing doesn't update the prompt mode
Moving command elapsed time logic from precmd

By moving the logic to python, there's better support for subsecond
resolution and the output can be fancier.
Tweaking colors

Changing the box color and coloring the elapsed time
Adding script for multiple git working directories

By sharing most of the items in ".git" between different working
directores, we essentially have one git repository and multiple working
directories that you can freely work across.
Making `ta` a function instead of an alias

Now that it's a function, it can accept (i.e. pass through) arguments
Handling case where "sub" has no filters

When only given the command (no filters), then "sub" would not include
when the command was executed with no arguments. This is relevant for
commands that are executed by themselves, and with arguments (e.g. ls)
Using the interactive flag
Updating vim plugins used