Reintroduce read-only interfaces

Have CreateDerivedCollection return interface for maximum
flexibility going forward in RxUI5.

Makes IObservedChange and IReactiveNotifyPropertyChanged
covariant.
Add xml docs for new interfaces
Including move notifications in interfaces
Make RDC implementation internal
Merge pull request #336 from reactiveui/derived-readonly-interfaces

Read-only interfaces for derived collections