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.
Instead of accessing `locations_`, could you make a protected method to access the locations. Call it something meaningful.