Clean up the implementation of the MRMAggregator

This PR cleans up MRMAggregator by overriding prepare and mutating the first field of the context tuple rather than having to reset the whole thing on each reducer key/start.

This is a trivial optimization because it only allocates 1 tuple per reducer rather than 1 per reducer group; the main point is to make the code cleaner