SERVER-11938 Get collection metadata at ShardFilterStage build time
SERVER-11941 Don't use buffered output in rawOut

As part of this change, rawOut was limited to either stdout or stderr which covers all current uses.
SERVER-11953 Replace PipelineCursor with PipelineRunner

This removes the last required use of the Cursor class so it can be removed.

As part of this change the requiresLock and shouldDestroyOnNSDeletion attributes
of Cursor were combined into ClientCursor::isAggCursor. The Cursor versions
(and related code) were left in place since it will be deleted soon anyway.