Fix oracle multiple connection identity bug

After chatting with @BruceCowan-AI a fair bit, we decided that I'd try fixing this bug. I was able to simplify it a lot by dropping support for GetLastInsertId() on the oracle dialect provider.

It took a lot of code in my tests to wrap the Command object properly. . . I  wasn't sure how you'd feel about bringing in a mocking tool.

The multiple connection tests pass on SQL and Oracle. They usually fail on SQLite, which I haven't tried to fix. I haven't tested any other databases.

This includes a couple of unrelated test improvements as well.