changed lock diagnostics to use DBCommandCursors #606

Now, db.showPendingLockRequests() and db.showLiveTransactions() are
implemented as VectorCursors which are returned using the same
DBCommandCursor infrastructure used by aggregation and
_migrateStartCloneTransaction.  The fallback (if cmdObj["cursor"] isn't
present) is to return as many results as possible, like we used to (should
work fine with old versions of the shell).

fixes #606