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.
I didnt get you. Since long before hadoopRDD gets the locations of the data blocks of a HDFS file from the name node and uses that schedule tasks corresponding to blocks. This is something MapReduce has used since long ago, the usual locality stuff. 

The challenge here is to map to the desired filesegment to the block that may contain it, and then the block to node mappign is the usual (same way as HadoopRDD does it). It is fine to make this a future PR. But I want to make sure we are in the same page in understanding what this is.