SERVER-15715 Remove the usage of DBDirectClient in findAndModify

This also removes the entire sort/no-sort branching and the usage of DB X
lock.
SERVER-16431 Implement TempRelease in terms of save/restore lock state

Allows us to get rid of the scoped lock chaining and pass on the
recursivity tracking to Locker::saveLockState.