SERVER-15286 don't try to explode for sort if zero fields to explode
SERVER-15187 Update saved OperationContext in all PlanStages

Every stage that has a field of type OperationContext*
should be updating it when ::restoreState(OperationContext*) is called.
Otherwise it is retaining a reference to deleted memory.

This bug hasn't surfaced before because:
1. the OperationContext used to be stack allocated, so it would have the
   same address every time
2. mmapv1 doesn't always need to dereference the OperationContext

Closes #781

Signed-off-by: Benety Goh <benety@mongodb.com>
Merge remote-tracking branch 'upstream/master'