Use daemon threads by default

Note: current implementation runs `thread.join()` to ensure that thread is not 
shut down while updating, but this works only with regular shutdown. If shutdown 
is somehow done without triggering VimLeavePre (for vim) threads can be 
terminated at any state.

Closes #368
Closes #371