SERVER-5845 Cursor can get deleted because of timeout at the finish stage of a sharded map reduce
SERVER-8635: fix crash caused by executing mr::State::~State() after JS exception
SERVER-8635: don't attempt to cleanup mr after an error
SERVER-8624: make reduce arguments mutable
SERVER-9448: make map and reduce argument and receiver objects mutable