Initial implementation of HDFSBackedBlockRDD.

This RDD pulls the block from BlockManager, if it exists in the Block Manager. If it is not found, the data is read from a file on HDFS.
Yes, I was talking about short-circuit local reads, which gives a massive performance boost. I will add this in the next update.