checkpoint for non-recompute limit

still need to implement update/remove

one test fails

This is running into trouble with update/remove. Maybe we should
optimize for the very specific case of oplog: we should only set
limitWithBuffer if specifically requested, and in that case we should
only allow update/remove by ID.  Also we should do this for unordered
instead of ordered because that's what oplog needs.