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

Still TODO: KwThreadedSegment threaded tests