Initial HDFS Readers and Writers implementation.

Basic implementation of a writer and sequential and random readers that operate with streams on HDFS. These operate on Array[Byte] rather than specific kinds of data, so any data being sent in should already be in serialized form.
please make this private. Downstream modules should not be able to see this. Same for the other classes. Even if they are all private to spark, its best to be disciplined about the method visibility. Who knows in future we may want to abstract out the WAL as a pure interface and have different implementations of it (HDFS, HBase, etc.)