Fix possible double import of cubes modules
When cubes using the new layout are imported with 'cubicweb_<cube>' and with
'cubes.<cube>', the same module is imported twice.
Handle this by adding 'cubes.<cube>' to sys.modules when importing from
'cubicweb_<cube>'.
Move load_module() to a sub class _CubesLoader to share informations computed
in find_modules().
Don't handle subpackages in _CubesImporter and rely on normal import machinery
instead.
Add a test and use unittest from cubicweb.devtools.testlib which resolve to
unittest2 on PY2 with assertLogs() method.
^build$
^dist$
\.egg-info$
^.tox$
^.cache$
\.pyc$
\.pyo$
\.bak$
\.old$
\~$
\#.*?\#$
\.swp$
^doc/book/en/apidoc$
\.old$
\.pybuild
debian/python-cubicweb
debian/*.log
debian/*.substvars
debian/cubicweb-doc
debian/cubicweb
debian/files
syntax: regexp
.*/data.*/database/.*
.*/data/ldapdb/.*
.*/data/uicache/
.*/data/libpython/cubicweb_.*/i18n/.*\.po
^doc/html/
^doc/doctrees/
^doc/book/en/devweb/js_api/
^doc/_build
^doc/js_api/
test-results.xml