A class encapsulating how to convert some type T to Writable. It stores both the Writable class
corresponding to T (e.g. IntWritable for Int) and a function for doing the conversion.
The getter for the writable class takes a ClassManifest[T] in case this is a generic object
that doesn't know the type of T when it is created. This sounds strange but is necessary to
support converting subclasses of Writable to themselves (writableWritableConverter).
A class encapsulating how to convert some type T to Writable. It stores both the Writable class corresponding to T (e.g. IntWritable for Int) and a function for doing the conversion. The getter for the writable class takes a ClassManifest[T] in case this is a generic object that doesn't know the type of T when it is created. This sounds strange but is necessary to support converting subclasses of Writable to themselves (writableWritableConverter).