Support zsh “modes” (different keymaps like when using vicmd/viins pair)

Fixes #508
Some fixes for powerline.zsh:

- Replace main and other linked modes with modes they link to
- Add proper keymap initialization

Ref #508
Omit any non-vi* mode by default
Add tests
Modify appropriate theme
Merge pull request #709 from ZyX-I/zsh-vi-mode

Add support for modes to shell bindings
Add powerline: exception prefix
Merge pull request #706 from ZyX-I/better-errors

Better error handling
Add powerline.tcsh

Ref #762
Add space to rprompt

According to tcsh documentation `%{%}` must not be the last segment.

Note: this means that right prompt has *two* characters between its end and 
terminal emulator border.
Fix tcsh escaping
Add tcsh tests
Strip anything but prompt from tcsh tests

There are some problems with a number of spaces on travis: it differs. Cannot 
use the same code as for fish because output looks like

    {prompt}{spaces}^[0m ^[[{number}D

and both `{spaces}` and `{number}` differ on my machine and in travis.
Merge pull request #773 from ZyX-I/tcsh

Add tcsh support

Fixes #762.
Merge branch 'develop' into local-develop