Refactor KwThreadedSegment

Fixes #813
Use only get/set_update_value functions to access update_value

Also rename .skip to .crashed
If update_first is False make it first wait and then update

Reason: otherwise it is likely that two updating processes are being run
simultaneously. With the current code it is not impossible as well, but less
likely.
Do not recompute key
Use monotonic() in place of time.time()
Add powerline.lib.threaded tests
Do not use drop_interval
Add after_update argument to prevent infinite recursion

Just in case.
Remove useless lock
Make code compatible with python-2.6

In python 2.6 Event.wait() always returns None making condition always True.
Merge pull request #822 from ZyX-I/threaded-fixes

Some fixes for powerline.lib.threaded

Fixes #813
Update powerline for new psutil

Fixes #835
Switch comments
Fix tests for new psutil
Merge pull request #838 from ZyX-I/new-psutil-fixes

New psutil fixes
Put _powerline_prompt at the start

Reason: $? may be overridden by the previous commands in PROMPT_COMMAND that do 
not keep it like _powerline_prompt does (see `return $last_exit_code`). 
(@ascrane)

Closes #836
Merge branch 'bash-keep-status' into develop
Fix flake8 complaints
Add ellipsis argument to cwd segment
Document istime date argument