modules: introduce require_running()

require_running() can be used by modules to declare they need
purticular module to be started. The caller may optionally specify the
run configuration name. When the name is not specified it can be
specified at a later stage (eg. during make via image= line) or by a
different module. If run configuration is not specified at any stage,
the default run configuration will be used, if present.

This is a solution to the problem of 'cli' module depending on
'httpserver' to be running, but regular require() declaration only
makes the module to be present in the image, not run. If the user
built the image like this then the CLI would not function properly:

  make image=cli

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
cli: require httpserver to be running

Fixes #479.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Avi Kivity <avi@cloudius-systems.com>