[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.
why? Because for a stream, IN_KEY is the event time stamp?