Add removeObserver method in Observable

- Add removeObserver method in Observable
- Fix bad implementation of removeParentObservable
- Add unit tests