rewrite OnSubscribeRefCount to handle synchronous source, add null check to OperatorMulticast
make fields final, use CompositeSubscription, unlock in finally clauses
abandon ReadWriteReentrantLock and simplify locking to a single lock that is used for subscription and disconnect
synchronize access to subscription for null check in OperatorMulticast
Merge pull request #1695 from davidmoten/refcount-1688

rewrite OnSubscribeRefCount to handle synchronous source