Parameterize classes and make updates for Infinispan 5.2

The previous version of InfinispanMapReduceWrapper and MapReduceCapable
were not fully parameterized. 

Infinispan 5.2 also added new constructors for the MapReduceTask class
to control distributing the reduce phase and sharing intermediate
results. Added methods to MapReduceCapable for setting these, added new
properties in the MapReduceStage, and added a new instance of
InfinispanMapReduceWrapper for Infinispan 5.2 that uses these
properties.