Closing a connection that has usageCount > 1 "should never happen". However, it can happen if JdbcPooledConnection.getConnectionHandle() throws an exception - e.g. if testConnection() fails. So ensure that JdbcPooledConnection.getConnectionHandle() decrements usageCount again if it fails, and sets the connection's  state to NOT_ACCESSIBLE.

This fix is currently only for "correctness" w.r.t. JdbcPooledConnection's documented semantics. The only visible effect is seeing fewer warnings in the log.
Some classes return clones of their Properties fields instead of direct references (e.g. connectionProperties on OracleXADataSource). Modify PropertyUtils to handle such cases, and test the ResourceLoader's behaviour.
Add generic type parameters to XAStatefulHolder, XAResourceHolder, XAResourceProducer, XAPool and StateChangeListener interfaces. Add correct concrete classes for JDBC and JMS implementations of these interfaces.
Improve generic interfaces StateChangeListener, XAResourceHolder, XAResourceProducer and XAStatefulHolder. They are now more consistent.
Strengthen definition of XAResourceHolder generic parameter even further.
Add generic parameter to LruEvictionListener.
Update POMs for Omnifone fork.
Fix compilation in NetBeans.
Merge remote-tracking branch 'btm/jdk6-generics'
Merge remote-tracking branch 'btm/cloned-properties'

Conflicts:
	btm/src/test/java/bitronix/tm/mock/resource/jdbc/MockitoXADataSource.java
Merge remote-tracking branch 'btm/fix-usage-count'

Conflicts:
	btm/src/main/java/bitronix/tm/resource/jdbc/JdbcPooledConnection.java
Allow setting a separate timeout for the JDBC4 connection test, which can be shorter than the acquisition timeout. This allows us to test several (say) Oracle server nodes behind a single SCAN hostname, should one node fail.
Merge remote-tracking branch 'btm/connection-test-timeout' into 3.0.0-Omnifone

Conflicts:
	btm/src/main/java/bitronix/tm/resource/jdbc/JdbcPooledConnection.java
Merge remote-tracking branch 'btm/close-connections' into 3.0.0-Omnifone

Conflicts:
	btm/src/main/java/bitronix/tm/resource/jdbc/JdbcPooledConnection.java
	btm/src/main/java/bitronix/tm/resource/jms/JmsPooledConnection.java
Merge branch 'master' into 3.0.0-Omnifone
Merge remote-tracking branch 'base-btm/master' into 3.0.0-Omnifone
Merge branch 'master' into 3.0.0-Omnifone
Merge branch 'master' into 3.0.0-Omnifone
Merge branch 'master' into 3.0.0-Omnifone
Set version number for "Jetty 9 lifecycle" module.