Make tests independent of tests order execution

When changing JUnit and Spring version the test failed because of the
different order execution.
Upgrade Spring version
Remove dependencies already present in business

If the dependency is already present in business, no need to declare
it in webapp, since webapp depends on business.
Reorder dependencies in libreplan-business/pom.xml

Follow the order defined in top pom.xml
Remove CustomTargetUrlResolver

It's not necessary, the standard strategy redirect to the original URL
and if it's the default one, IndexController will redirect to the user
default location.
Upgrade schema files for Spring configuration
Simplify security configuration using form-login
Use a newer version of surefire plugin
Upgrade Spring to 3.2.8 and Hibernate to 4.2.8

Now Libreplan can be run on Java8.

This implied some changes:

* Latest versions of hibernate use the Bean Validation API. This
  implied renaming the imports and use ConstraintViolationException
  instead of InvalidValue. Besides some constraints had to be renamed,
  otherwise they wouldn't be recognized by Hibernate validation. In
  the new version of Hibernate validator @AssertTrue can only be
  applied to properties. So all methods it was applied to must follow
  the is.* format.

  Automatic execution of Bean Validation API is disabled, otherwise an
  infinite loop would happen. This is because there are some
  validation constraints that do launch queries to the database. This
  causes a flush of the objects in the session and automatic
  validation is called again.

* A new library for persisting JodaTime is necessary since
  joda-time-hibernate is incompatible with hibernate 4. This library
  can automatically register its types for Date conversion so they're
  removed from configuration.

* Now, in some places, an InvalidDataAccessApiUsageException is thrown
  instead of a DataIntegrityViolationException.

  This is because no constraint is violated, the API is being used
  incorrectly because a transient instance is being provided where a
  persisted one was expected.

* In hibernate 4 listeners cannot be configured via properties.
  HibernateDatabaseModificationsListener registers itself in its @PostConstruct method.

* ehcache classes used are now different.
Remove uses of @NotTransactional

@NotTransactional is deprecrated and in the next major Spring version
is removed.
Upgrade to Spring 4.0.3 version

This is the latest stable version available.
Upgrade Hibernate version

Move to a Hibernate version compatible with Jahira. When running with
Java 8 an exception was caused when initializing the session factory.

java.lang.NoSuchMethodError: org.hibernate.engine.jdbc.spi.JdbcServices.getConnectionProvider()Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
at org.jadira.usertype.spi.shared.AbstractUserTypeHibernateIntegrator.use42Api(AbstractUserTypeHibernateIntegrator.java:80)