Run 'downgradeall' for extensions in reverse order

* extension downgrades may depend on tables in 'core', and should
  remove their foreign key constraints first
Import ggrc.app in ggrc.migrate

* otherwise, imports will happen in the wrong order, causing import
  recursion and weird things break
Don't duplicate or overwrite 'behave' extra_step_paths
Enforce uniqueness of people.email
Change table and column for users_roles

* 'users_roles' -> 'user_roles'
* 'user_roles.user_email' -> 'user_roles.person_id'
Fix tests for change in user_roles of user_email->person_id

* added rule 'Given a user with email...' to create a Person object only
  if one with that email does not exist already (because behave tests
  don't clean up after themselves)
Fix loading of steps in ggrc.behave

* now loads steps found in parents of all paths passed on command line
* now reliably deduplicates steps paths regardless of command line order