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.
BETTER WAY. 

You have the byte buffer right? 
```
val iterator = blockManager.dataSerialize(byteBuffer)
if (haveToPutInBlockManager)  {
     // assume that the storage level is NOT deserialized
     blockManager.putBytes(blockId, byteBuffer, storageLevel, tellMaster = true)
}
iterator
```