Fix issue #1451

Add `done` to make sure calling `doOnEachObserver` obey the Rx contract.
Agree. Should I send a PR to remove it, or just keep it?