Update to Spring Framework 3.1.4

We have had reports about the following problem in pin manager:

01 Mar 2013 14:08:27 (PinManager) [] Unexpected failure while unpinning
java.lang.IllegalStateException: No JDO PersistenceManager bound to thread, and configuration does not allow creation of non-transactional one here
        at org.springframework.orm.jdo.PersistenceManagerFactoryUtils.doGetPersistenceManager(PersistenceManagerFactoryUtils.java:153) ~[spring-orm-3.1.0.RELEASE.jar:3.1.0.RELEASE]
        at org.springframework.orm.jdo.TransactionAwarePersistenceManagerFactoryProxy$PersistenceManagerFactoryInvocationHandler.invoke(TransactionAwarePersistenceManagerFactoryProxy.java:159) ~[spring-orm-3.1.0.RELEASE.jar:3.1.0.RELEASE]
        at $Proxy11.getPersistenceManager(Unknown Source) ~[na:na]
        at org.dcache.pinmanager.JdoDao.all(JdoDao.java:188) ~[dcache-core-2.2.8.jar:2.2.8]
        at org.dcache.pinmanager.UnpinProcessor.unpin(UnpinProcessor.java:67) ~[dcache-core-2.2.8.jar:2.2.8]
        at org.dcache.pinmanager.UnpinProcessor.run(UnpinProcessor.java:49) ~[dcache-core-2.2.8.jar:2.2.8]
        at org.dcache.util.FireAndForgetTask.run(FireAndForgetTask.java:31) [dcache-core-2.2.8.jar:2.2.8]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [na:1.6.0_31]
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) [na:1.6.0_31]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) [na:1.6.0_31]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) [na:1.6.0_31]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) [na:1.6.0_31]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) [na:1.6.0_31]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_31]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_31]
        at java.lang.Thread.run(Thread.java:662) [na:1.6.0_31]

It would seem that in some cases the @Transactional annotation of the
DAO is not respected. I have observed this myself after restarting
pinmanager. Another restart usually solves the problem.

I found the following bug report at Spring Source:
https://jira.springsource.org/browse/SPR-9857 The problem being reported
is in a completely different context, but seems to be about the load
order of when aspects are woven. It's a long shot, but maybe the fix
cures our problem too. Hence this patch upgrades Spring from 3.1.0 to
3.1.4 in dCache 2.2.

Target: 2.2
Require-notes: yes
Require-book: no
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7694
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7683
Merge-req: http://rt.dcache.org/Ticket/Display.html?id=7710
Signed-off-by: Gerd Behrmann