Zip fix for multiple onCompleted and moved unsubscribe outside the lock.

Also added the test case from the issue.

Instead of #766