Restructure code to "allow" misordered sequencers.

Throw in an assertion that they aren't misordered anyway. This will be
removed before merge. But it should never fire for a singleton replset.
When FETCHING, process add/delete/replace directly

Unless they are for one of the currently-fetching IDs.

Note that this can reorder observes! But so can poll-based observe. That
said, I think it can reorder them in a more noticable way.

Specifically, with poll-based observe, if you observe two operations A1
and A2 on a doc A, then you are guaranteed to have seen any operation on
any document that occured before A1. This is not the case after this
commit for oplog-based observe. (Not sure if it was before this
commit...)