SERVER-16469 findAndModify runImpl(): improve error reporting

Previously, findAndModify ignored errors encountered in calls to
PlanExecutor::getNext() when searching for the document to modify.
Now, errors are bubbled up to the user.
SERVER-16469 findAndModify runImpl(): set limit of -1 on query

This allows findAndModify operations that include a sort to take
advantage of the top-K sort logic in the query engine.  This reduces
the memory footprint of the operation from O(N) to O(1), where N is
the number of documents matching the query predicate.