Subclass of Quartz's JobStoreCMT class that delegates to a Spring-managed
DataSource instead of using a Quartz-managed connection pool. This JobStore
will be used if SchedulerFactoryBean's "dataSource" property is set.

Supports both transactional and non-transactional DataSource access.
With a non-XA DataSource and local Spring transactions, a single DataSource
argument is sufficient. In case of an XA DataSource and global JTA transactions,
SchedulerFactoryBean's "nonTransactionalDataSource" property should be set,
passing in a non-XA DataSource that will not participate in global transactions.

Operations performed by this JobStore will properly participate in any
kind of Spring-managed transaction, as it uses Spring's DataSourceUtils
connection handling methods that are aware of a current transaction.

Note that all Quartz Scheduler operations that affect the persistent
job store should usually be performed within active transactions,
as they assume to get proper locks etc.