SERVER-12554 There's no need to iterate all over the runner if limit
is set, because this is really expensive (the scan it done under
lock scope).
SERVER-12554 Mimic 2.4 behaviour and lazily yield in order to
avoid a regression whne scanning a small set of documents.
SERVER-12627 do not apply id hack to query containing hint
Revert "SERVER-12554 Mimic 2.4 behaviour and lazily yield in order to"

This reverts commit d6873ccb663a07de47738af913fd25ceff23296f.

Reverting because commit broke counttests.cpp in core suite on all platforms
SERVER-12626 support explain for id hack
SERVER-12651 drop projection when collection scan is only solution for distinct command
SERVER-12530 clean up agg output cursor creation and locking
SERVER-12530 Make DocumentSourceCursor use Runner directly

Now that the input Runner no longer is wrapped in a ClientCursor, the
PipelineRunner is responsible for propagating kill and invalidate methods.
SERVER-12586 Don't allow $out to special collections
SERVER-12697 disable replsets/auth_compact.js until it is repaired