Re-add users and user role membership when doing sync.

Ideally DacDeployOptions would have a way to ignore users, user role membership, and user permissions. The options DropPermissionsNotInSource and DropRoleMembersNotInSource aren't effective because the users still get dropped even when these options are `false`.

If I recall from testing DropObjectsNotInSource = false and/or IgnorePermissions = true preserved the users but those settings don't only apply to users. Then no objects would be dropped and all permissions (even on roles) would be ignored.

As a work-around for sync mode, I implemented code to re-create the users and add them back to roles. Any permissions granted to the users will still be dropped. But our policy is to always grant permissions to roles and then add users to roles.
Detected another case when foreign keys should be disabled.

 * Added DependencyOrderDeleteUpdateInsertTest unit test method to test this case.
 * Also renamed "DataUpgraderTest.cs" to "DataUpgradeScripterTest.cs" so that the unit test file name corresponds to the class name.