Ensuring consistent CompositeDisposable invariant

This pull request enforces that null values can not be added to the CompositeDisposable type via the constructors. Closes issue 74