[schema] load schema from modules names instead of directories
Introspect cubicweb, cubes and apphome using pkgutil to generate the full list
of modules names for loading the schema.
Keep historical behavior and check if source .py file exists if a module is
found using python bytecode file (.pyc and .pyo)
Loading schema from apphome require apphome to be present in sys.path and that
"schema" module resolve to a file located in apphome.
Update migraction tests to explicitely update sys.path when loading schema from
different apps, use a contextmanager for this so it's more readable.
Require updated logilab-common and yams
### Requirements for tests in various cubicweb/**/test directories. ###
## shared by several test folders
cubicweb-card
docutils
Twisted < 16.0.0
webtest
## cubicweb/test
Pygments
mock
#fyzz XXX pip install fails
cubicweb-file
cubicweb-localperms
cubicweb-tag
## cubicweb/devtools/test
flake8
## cubicweb/hooks/test
psycopg2
## cubicweb/pyramid/test
pyramid >= 1.5.0
waitress >= 0.8.9
wsgicors >= 0.3
pyramid_multiauth
## cubicweb/sobject/test
cubicweb-comment