Hacked the schema updater to create the indexes we want

Creating indexes in the following manner:
-A non-clustered index for the Id
-A clustered index for Endpoint + Time
-A non-clustered index for SagaId

This is only done for MS SQL 2005/2008/2012
We may need to do this for other dialects later on.
NHibernate Saga persister does not work with Oracle

The issue is that the Oracle driver does not support both TransactionScope and NH transaction, see http://stackoverflow.com/q/6870901/90882 for more info.
So we now checking if there is currently an active ambient transaction and if there is we do not create a NH transaction.
We also disable AutoFlush and control Flush manually.
Renamed to OptimizedSchemaUpdate

Ran code clean
Merge pull request #27 from Particular/Issue_26

This PR fixes #26
Making version row a DateTime so that Oracle is happy
Installers need to use the NH Configuration that could have been passed by the user

Added hook in saga convention mapper to allow user to plugin their own table naming convention
Added table naming convention for Oracle tests
Don't output script
Only apply Inverse=true if child has a reference to parent
Acceptance test for Issue_31
Enabled testing of Subscriptions and Timeout persisters
Removing hbm output
Merge pull request #32 from Particular/Issue_31

Only apply Inverse=true if child has a reference to parent, fixes #31
Not needed
Updated GatewayDeduplication, GatewayPersister, SubscriptionStorage and TimeoutStorage  to not use an ITransaction if and ambient transaction already exists.
Subscriptions do not use ambient transactions
Using existing messageId for timeouts.

This should also improve performance slightly because we use CombGuid.
Managing NH connections explicitly to avoid #1
Merge branch 'develop' into Issue_5
Merge pull request #28 from Particular/Issue_5

NHibernate Saga persister does not work with Oracle