ConnectionProvider for J2EE DataSource implementations

Provides a generic way to configure javax.sql.DataSource implementations as providers of JDBC connections.

This implements the feature request from ticket #497: http://tracker.deegree.org/deegree-services/ticket/497

## Example config 1 (Apache DBCP)

```xml
<DataSourceConnectionProvider configVersion="3.4.0" xmlns="http://www.deegree.org/connectionprovider/datasource" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.deegree.org/connectionprovider/datasource./datasource.xsd">

  <!-- Creation / lookup of javax.sql.DataSource instance -->
  <DataSource javaClass="org.apache.commons.dbcp.BasicDataSource" />

  <!-- Configuration of DataSource properties -->
  <Property name="driverClassName" value="org.postgresql.Driver" />
  <Property name="url" value="jdbc:postgresql://localhost/deegree-db" />
  <Property name="username" value="kelvin" />
  <Property name="password" value="s3cr3t" />
  <Property name="poolPreparedStatements" value="true" />
  <Property name="maxActive" value="10" />
  <Property name="maxIdle" value="10" />

</DataSourceConnectionProvider>
```

##  Example config 2 (JNDI)

```xml
<DataSourceConnectionProvider configVersion="3.4.0"
  xmlns="http://www.deegree.org/connectionprovider/datasource"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.deegree.org/connectionprovider/datasource
./datasource.xsd">

  <!-- Creation / lookup of javax.sql.DataSource instance -->
  <DataSource javaClass="org.deegree.db.datasource.JndiLookup"
factoryMethod="lookup">
    <Argument value="java:comp/env/jdbc/DatabaseName"
javaClass="java.lang.String" />
  </DataSource>

</DataSourceConnectionProvider>
```

## Example config 3 (Oracle UCP)

```xml
<DataSourceConnectionProvider configVersion="3.4.0"
  xmlns="http://www.deegree.org/connectionprovider/datasource"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.deegree.org/connectionprovider/datasource
./datasource.xsd">

  <!-- Creation / lookup of javax.sql.DataSource instance -->
  <DataSource javaClass="oracle.ucp.jdbc.PoolDataSourceFactory"
factoryMethod="getPoolDataSource" />

  <!-- Configuration of DataSource properties -->
  <Property name="connectionFactoryClassName"
value="oracle.jdbc.pool.OracleDataSource" />
  <Property name="URL" value="jdbc:oracle:thin:@//localhost:1521/XE" />
  <Property name="user" value="kelvin" />
  <Property name="password" value="s3cr3t" />
  <Property name="initialPoolSize" value="5" />
  <Property name="minPoolSize" value="5" />
  <Property name="maxPoolSize" value="10" />
  <Property name="maxStatements" value="50" />

</DataSourceConnectionProvider>
```