[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.
Yes, it's the stream event timestamp. Just making it a convention for Mapper/Reduce to consume stream event. If the user want something else, he needs to implements a StreamEventDecoder.