Merged Oracle support with Latest Master

Really hoping for a merge soon since we cannot deploy our internal Cloud Foundry deployment until this is merged into master.  Every time an Oracle incompatible migration is added I have to move the oracle migration script to take that change into account.  Which will completely mess up any internal deployments we do on a branch.

This pull request brings the oracle branch up to date with master.

I broke my non trivial merge changes out into separate commits from the merge to simplify review.

I had to fix another couple of oracle in compatible migration changes and a small case where the :apps unique validation didn't work with the lower() way of doing case insensitivity.