Add a table property to indicate a table being cached

While a table is in the process of being cached in memory or offheap,
it is actually inaccessible, because we won't fall back to the base
data. This patch puts a band-aid on that by allowing the user to check
when the caching is complete, and to disallow multiple cache tasks to
execute on the same table at the same time (where the behavior is not
defined).
Merge pull request #324 from aarondav/cache

Add a table property to indicate a table being cached
Bug fix: RLDecoder.hasNext may lose duplicated values
Initial commit of bringing back map join hints.
Merge pull request #328 from liancheng/rle-decoder-bugfix

Bug fix: RLDecoder.hasNext may lose duplicated values
Merge pull request #330 from yhuai/mapJoin

Initial commit of bringing back map join hints.
Fix the crash for map pruning when the column value is not a constant.
Merge pull request #331 from rxin/mapprune

Fix the crash for map pruning when the column value is not a constant.
Avoid starting SparkContext in remote mode.
Merge pull request #332 from rxin/remote

Avoid starting SparkContext in remote mode.
Fix the rdd recovery of table from the non-default database
Bump Shark version to 0.9.2.
Merge pull request #333 from chenghao-intel/rddrecovery

Fix the rdd recovery of table from the non-default database