Fix #803 *breaks compatibility of old migrations

breaks compatibility of old permissions migrations (001-003), so users
trying to upgrade very old systems may need to pull the older versions
of those files.

Replaces the '.' with '_' in the column names in the old version of the
permissions table.
003_Permission_system_upgrade reverses the change when creating
permission names from the column names of the old permissions table, so
the new (current) permission names retain the '.' previously used in the
old table's column names.

Also added 'null' => false to field definitions that did not include an
entry for whether null is permitted, so we don't make assumptions that
may be invalid based on the defaults for a particular database.

Added a variable to hold the role_id for the Administrator user to
migrations that used it. This should both improve the clarity of the
code that uses it and make it easier to change the id if necessary.
Update MY_Model::delete tests for 668247876b0f2d4fce10625eb703758e8d422eb2

Changes to the delete methods in
668247876b0f2d4fce10625eb703758e8d422eb2 resulted in failures in the
tests. Since the tests did not break based on the function results, I've
updated the tests to reflect the changes in the model.

One item I did not fix is that the tests don't handle method chaining on
$this->db properly, so the tests error out when they encounter any use
of this feature.