Provides an implementation for storing data used by the ScheduleJobManager.
Runtime/transient data is stored into Cache's (either ehcache or coherence caches) for quick access. The caches
do not expire, and are sufficiently large not to fill up. There is currently no checking if they are full, and
this will cause issues if this occurs. Use of cache's will allow the data to be synchronised across cluster nodes
by coherence.
Runtime/transient data includes the scheduled job status, and the default cron expressions.
Persistent data is stored into Bandana, it's not intended to be used for high-frequency updates.
Persistent data includes persisted history (when enabled), and the job configuration (changed cron expression,
enabled/disabled flag).