issue #20154: Implement natural keys

Most things work. Known issues:
- Lot's of problems in Quote/Sales Order. Not sure if because of this or other work.
- Handful of non-passing vows models tests moved to "bad" folder. These things work in the UI, just not in vows.
- Didn't address admin console as a lot of work has been done on that. Couldn't get it working when merged.