srm: Implement asynchronous save as a JobStorage decorator

Addresses the problem that DatabaseJobStorage and JdbcConnectionPool
worry about several concerns. This patch separates the queueing
of asynchronous updates from the above two classes and implements
it as a new JobStorage decorator called AsynchronousSaveJobStorage.

The change also reduces the amount of static information in
JdbcConnectionPool.

The queueing is now implemented through an ExecutorService. The rest
of the logic is kept unchanged. A future patch may update
AsynchronousSaveJobStorage to avoid reading stale data from the
database if those jobs are currently queued.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5948/