Add javadocs documentation to user-facing classes.
Add Writable interface to allow seamless support for Hadoop types