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.
This implementation has the not-so-rare corner case where hasNext return true, but readNext() fails. Its better, to actually read the record in hasNext, and then return true. The record will be stored and returned when readNext() is called (or name it next()). 

Alternatively you can implement a Scala iterator, which allows nice `iterator.foreach(array => ... )` downstream.