[CDAP-331] Allows more flexibility on the data type for consuming from stream for MapReduce

- Added auto-detection based on Mapper/Reducer input type to support Text or BytesWritable to carry stream event body
- Added support for user to provide a custom StreamEventDecoder to transform StreamEvent into Key/Value pair for MR input.
Previously we had this comment:

// NOTE: we don't use job.getMapperClass() as we cannot (and don't want to) access user class here

But now the new code assumes that it is fine to load the user class. What changed that?