Support rolling back transactions on multiple datasources during integration tests - GRAILS-9771

I added explicit Spring transaction synchronization to the `GrailsTestTransactionInterceptor`. There is no Synchronization between the disparate transactions, a la XA, but it is necessary to fake because Spring assumes there is only 1 concurrent transaction on a given thread, regardless of the datasources.

I tried to create a test for this, but could not figure out how to use the `GrailsTestTransactionInterceptor` in the gradle tests to mimic a grails integration test (the equivalent integration test in not hard).