Reset memoize cache if unable to unpickle

This is usually due to the cache being stored with Python 3 and then
attempted to being loaded in Python 2 which raises a ValueError.

Closes #138.
Handle more KeyErrors in common weather segment
Add IPython prompt support
Add output_raw argument to Renderer.render() method

Update all ipython modules to use it to get unhighlighted prompt

Conflicts:
	powerline/renderers/ipython.py
Remove placeholder and use escaping instead
Fix zsh prompt security and other issues

* Escape percent in zsh prompt
* Prevent some security issues (directory named `$(echo abc)` appeared as `abc`)
    (`"$()"` → `'$()'`)
* Removed exports
Remove "$()" method in pre-prompt hook

Using "$()" method on pre-prompt hook is just asking for security
trouble.
Restore export as it makes sense in bash

Bash has weird initialization: bashrc is sourced in non-login
interactive shell, but not in login interactive shell; profile is
sourced in login interactive shell, but not in non-login interactive,
thus exporting in profile does make sense. In zsh case zshrc is always
sourced when shell is interactive and exporting thus makes no sense.
Add setopt promptpercent and promptsubst

These options are required for Powerline to work in zsh, but the latter
is off by default.
Add last_status and last_pipe_status segments
Make highlight_group optional if set in segment function
Join tmux/prompt shell scripts into one common script
Add width argument to shell script
Pass segment contents to renderer hl() methods

This allows the hl() methods to wrap highlighting code *around* the
segment contents, this is required for e.g. Pango markup in Awesome
statuslines (segments must be wrapped in <span ...>...</span> tags).
Add Awesome WM widget
Add e-mail alert segment
Add a quick setup guide to the docs
Catch the correct imaplib exception
Don't check for mail if username or password is missing
Hide e-mail alert segment if there are no unseen e-mails