Fix oracle multi connection

Hi Demis,
I'm not terribly happy with this PR because it keeps a reference to a connection around for a while which can be a long while when no db inserts are happening. Any suggestions from you for a better implementation would be most welcome. The main limiting factors are (1) the LastInsertId public extension method which means that user code can ask for the last insert id any time it wants (before a new insert on the connection) and the fact that in Oracle there is no relationship between the connection and the last insert id when a sequence is used and similarly no relationship between the connection and the sequence.