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.
Whats the point of checkign assertOpen() before doing readNext()? There can be very easily a race condition where this assert true, and the stream is closed in the middle of `instream.readInt()` on line 36