JDBC Message Store for WSO2 ESB

The aim of this improvement is to enable JDBC databases to act as message stores for ESB. 

You need to add the respective jdbc driver to 'lib' folder of Synapse and add message Store as follows. (In here I'm using mysql-jdbc-connector)
```
<store messageStore="MyStore"/>

<messageStore class="org.apache.synapse.message.store.jdbc.JDBCMessageStore" name="MyStore">
<parameter name="store.jdbc.driver">com.mysql.jdbc.Driver</parameter>
<parameter name="store.jdbc.connection.url">jdbc:mysql://localhost:3306/mystore</parameter>
<parameter name="store.jdbc.username">root</parameter>
<parameter name="store.jdbc.password"></parameter>
<parameter name="store.jdbc.table">store_table</parameter>
</messageStore>
```
Configuration parameter list can be used as follows if you want to add a datasource:
```
<parameter name="store.jdbc.dsName">reportDB</parameter>
<parameter name="store.jdbc.icClass">com.sun.jndi.rmi.registry.RegistryContextFactory</parameter>
<parameter name="store.jdbc.connection.url">rmi://localhost:2199</parameter>
<parameter name="store.jdbc.username">root</parameter>
<parameter name="store.jdbc.password"></parameter>
<parameter name="store.jdbc.table">store_table</parameter>
```

Testing:
I have already tested the JDBC Message Store with mysql databases using the configuration given.
To create table:
```
CREATE TABLE 'store_table' (
'indexId' BIGINT( 20 ) NOT NULL ,
'msg_id' VARCHAR( 200 ) NOT NULL ,
'message' BLOB NOT NULL ,
PRIMARY KEY ( 'indexId' )
)
```
Also indexId should be set as an auto increasing field.
I think, its better to stick to a ReentrantLock as we have the permit count of semaphore set to 1.