SERVER-13635 Clean up BtreeCursor save/restore.

It is now up to the BtreeInterface impl to decide what data it needs to save.
Save and restore must *always* be called before/after a yield if you intend
to use the cursor again, even if it is at EOF.
SERVER-13635 Capped HeapRecordStore fixes
Merge remote-tracking branch 'upstream/master'