cubicweb #4399860 do not expect a hardcoded 'shared' directory when using CW_CUBES_DIR env [waiting feedback]

For now, I have (after a cubicweb-ctl create mycube --directory ~/cubes):

david@perseus:~/hg/test$ echo $CW_CUBES_DIR
/home/david/cubes
david@perseus:~/hg/test$ echo $CW_MODE
user
david@perseus:~/hg/test$ cubicweb-ctl list
Traceback (most recent call last):
 File "/usr/bin/cubicweb-ctl", line 4, in <module>
   run(sys.argv[1:])
 File "/usr/lib/python2.7/dist-packages/cubicweb/cwctl.py", line 1108, in run
   cwcfg.load_cwctl_plugins()
 File "/usr/lib/python2.7/dist-packages/cubicweb/cwconfig.py", line 604, in load_cwctl_plugins
   load_module_from_file(join(CW_SOFTWARE_ROOT, ctlfile))
 File "/usr/lib/python2.7/dist-packages/logilab/common/modutils.py", line 202, in load_module_from_file
   return load_module_from_modpath(modpath, path, use_sys)
 File "/usr/lib/python2.7/dist-packages/logilab/common/modutils.py", line 168, in load_module_from_modpath
   module = load_module(curname, mp_file, mp_filename, mp_desc)
 File "/usr/lib/python2.7/dist-packages/cubicweb/etwist/twctl.py", line 28, in <module>
   import cubicweb.etwist.twconfig # pylint: disable=W0611
 File "/usr/lib/python2.7/dist-packages/cubicweb/etwist/twconfig.py", line 34, in <module>
   from cubicweb.web.webconfig import WebConfiguration
 File "/usr/lib/python2.7/dist-packages/cubicweb/web/webconfig.py", line 79, in <module>
   class WebConfiguration(CubicWebConfiguration):
 File "/usr/lib/python2.7/dist-packages/cubicweb/web/webconfig.py", line 199, in WebConfiguration
   'default': join(CubicWebConfiguration.shared_dir(), 'data', 'porkys.ttf'),
 File "/usr/lib/python2.7/dist-packages/cubicweb/cwconfig.py", line 399, in shared_dir
   return cls.cube_dir('shared')
 File "/usr/lib/python2.7/dist-packages/cubicweb/cwconfig.py", line 461, in cube_dir
   cube, cls.cubes_search_path()))
cubicweb._exceptions.ConfigurationError: no cube 'shared' in ['/home/david/cubes']
prioritynormal
typebug
done in<not specified>
closed by<not specified>