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).