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