public class WritableConverter<T>
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 ClassTag[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).