Add default caching using ehCache.

Caching is implemented using the BackingStore abstract class. The
user can provide their own caching system instead of the default
ehCache-based system. The default uses the ehcache-kiradb.xml file
for default settings.