Move all AppDev framework resources into a common framework/ directory
Update tiappdev npm modules to the latest versions
Refactor AD.Comm.HTTP.request to be compatible with GoogleDrive.request
Expose readKeychain and writeKeychain in AD.EncryptionKey
Re-enable foreign key constraints before resolving the deferred when importing database tables
Use the table schema to determine the table's column names when importing database tables
Support app-specific database upgraders

Application database upgraders are defined in app/install in the exported "upgraders" property
Do not include sqlite_sequence in database dumps
Refactor the database upgrade procedure

Backup the database to an in-memory dump.
Reset the database dropping all tables.
Recreate the database tables from an external database schema file.
Finally, import the data back in, upgrading it as necessary.
Do not automatically reinitialize the UI after a database import
Add AD.Database.getFile to get the database filesystem representation
Run the "installDatabases" only during the initial installation
Remove redundant fields from database dumps
Run the database upgraders in the expected order
Properly handle attempts to import data into nonexistent tables
Do not attempt to run database upgraders during initial installation
Merge branch 'refactor-db' into develop
Add a new AD.Location module to access the user's physical location
Add CAS authentication support
Automatically localize the message text in AD.UI.ProgressWindow