schema changes and models for initial implementation of table versioning.
Merge branch 'develop' into feature/table-versioning
abstracted out the createArchiveTable method to facilitate easier use in module migrations
bugfix: instantiating archive models with $class::model() causes getIsNewRecord() to be false.
[OE-3856] fixed long key length for archive table rid column
[OE-3856] changes made following devteam discussion of table versioning
[OE-3856] set deleted_at when saving archive models
[OE-3856] changes following devteam discussion
[OE-3856] implemented changes based on devteam discussion of table versioning (updateByPk override)
[OE-3856] removed crud
[OE-3856] updated updateByPk() method to correctly specify the primary key.
[OE-3856] implemented low-level table versioning using an extension of the CdbCommandBuilder class and wrapped the sql in transactions.
[OE-3856] hooked up ability to retrieve archived data.
[OE-3856] removed duplicate key to the main table
[OE-3856] moved data into OECommandBuilder.php
[OE-3856] removed unnecessary archive models
[OE-3856] changed table name and fields to be more descriptive of what we're doing and added an override for resetScope().
[OE-3856] fixed migration regex typo
[OE-3856] removed old models that aren't used anymore.
[OE-3856] command script to verify that all the version tables referenced by versioned models are correct in terms of fields and foreign key definitions.