SERVER-15527 explain should report planner info and exec stats when query execution fails

This also changes the error behavior of explain so that the explain command succeeds as long
as it has provided valid output, even if the underlying operation failed.
Merge remote-tracking branch 'upstream/master'