Add a new 'shark.cache.type' table property. Also included are a few comments and some small refactoring.

Previously, the 'shark.cache' table property was used as both a boolean/flag and a cache type specification. 'shark.cache.type' is added for the latter.

This also deals with an InvalidCacheTypeException being thrown when 'shark.cache' is explicitly set to 'false'.