Conceptually rework HdfsWriter and built it on top of Serializer.

Right now HdfsWriter is just a bridge to HDFS (create-close OutputStreams to
underlying HDFS), while core objects serialization is delegated to
SerializationFormats which encapsulates different serialization strategies not
coupled to surrounding environment. Such a design is more clear, usable and
extensible ( hope so :) ).