Add a HadoopTableReader, for scanning tables stored in Hadoop.
Add a HeapTableReader, for scanning tables stored in the Spark block manager.
Add a TachyonTableReader, for tables managed by Tachyon.

Partitioned tables in Tachyon are not yet supported, though.
makeRDDForTablePartitions => makeRDDForPartitionedTable, since the former can be confused with RDD[TablePartition].
Some comments for classes in TableReader.scala.
Put HadoopTableReader in its own file.
Cleanup TableScanOperator imports.

This also gets it to compile...
Some style cleanup in TableReader and HadoopTableReader.
Merge pull request #203 from harveyfeng/table-read-refactor

Add a TableReader trait and implementations for scanning tables stored in Hadoop, Tachyon, and Spark's block manager.