The easiest way to observe values in Swift.
This release makes it possible to subclass the Observables and Makes the Disposable initializer public.
This PR migrates the lock from pthread_mutex_t to NSRecursiveLock which avoids the deadlock problem.