MXKRoomDataSource.m: code enhancement
MXKRoomDataSource.m: code enhancement

- some observers/listeners were not correctly removed. The delegate is defined as a weak property, it is not reseted anymore at the dataSource level when it is released.
These changes prevent us from creating multiple observers/listeners at each new delegate.
We have to think of a better solution if we really want to remove some observers/listener when the dataSource is unused (no delegate defined)

matrix-org/matrix-ios-kit,matrix-org/matrix-ios-kit,matrix-org/matrix-ios-kit,matrix-org/matrix-ios-kit