Port common.branch segment to KwThreaded*, add common.repository_status
Allow multiple shutdown calls
Allow multiple starts by not subclassing from Thread
Fix behavior with run_once: .update() was called too much times
Make update_first configurable
Rework API for custom vim events
Use python’s try/catch, not vim’s

Fixes #344
Move configuration to /etc/xdg/powerline

XDG_CONFIG_DIRS is set in /etc/env.d by configuration from xdg-utils package, 
but it is not guaranteed to be present in the system
Add required pl argument to segments

Fixes #340
Ref #330
Some fixes for zsh, remove some exceptions handling

Those exceptions are now handled and logged at top level, thus no need to handle
them in segment.

Ref #330, it is now fixed for zsh/zpython

Note: do not use zsh/zpython + python3, it does not work properly, even though
this changeset contains fixes for it as well

Fixes #360
Make scripts/powerline use os.environ['PWD'] for .getcwd() if present

Closes #330
Remove run_once from ShellPowerline, fix update_first

run_once will be passed to Powerline as a part of **kwargs
Do not wait for update lock, exit
Skip crashed segments
Merge remote-tracking branch 'zyx-i/pl-argument' into develop
Some fixes for flake8
Fix exec call for non-python-2.7
Merge remote-tracking branch 'zyx-i/pl-argument' into develop