add a thin network client using promises
add waitForValue and waitForValueWithTimeout:
wait for value should not block on subsequent calls
change join: to when:
Changes KSDeferred +defer to return instancetype for dynamic subclassing
Merge branch 'master' of https://github.com/kseebaldt/deferred