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.
Just to avoid the String concat cost. This accomplishes the same thing as Preconditions.checkArgument in Guava, but that being Java does not have pass by name.