upgrader: change to module-aware engine
- Changes upgrader to load upgrades from all installed modules.
- Changes upgrade naming convention to be compatible with invenio modules.
- Changes upgrader to use SQLAlchemy models for querying instead of run_sql.
- Changes recipe creation to use module import paths as input instead of system paths.
- Relaxes constraint on cross-graph dependencies to allow inter-module dependencies.
- Removes pre-upgrade check for legacy custom templates.
- Adds tests of recipe creation.
- Fixes PEP8 issues.
Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
NOTE: beware, patch amended by Tibor to use new file names