Specify setup/cleanup is run for map/reduce/combine.
Fix Reducer#cleanup not running.

The instance was set to null before invoking the method. This also fixes
the same error for combiner, since it inherits from this class.
Use counters to signal whether setup/cleanup was run.
Merge branch 'fix-reducer-cleanup'