modules: introduce run_on_init() declaration

api.run_on_init(cmdline) means that cmdline should be executed at init
time as if a file was put inside /init directory with '30-'
prefix.

The order in which commands declared this way will run depends on the
order in which modules depend on each other. Dependant modules will
run before modules which depend on them which means automatic priority
assignment.

The motivation for this change is to allow "run on init" behavior to
be optional, depending on the chosen run configuration. For example
some times we want HTTP server to run as daemon and some times as
standalone app. It's simplest to reuse an already present run
configuration mechanism for that.
httpserver: introduce .fg run configuration

When image is built like this:

  make image=httpserver.fg

OSv will wait for it before exiting. "fg" is for "foreground". It can
be useful when we want to have a generic image with just the API
through which commands will be started externally.
Bump up swagger-ui.git HEAD ref
httpserver: add support for SSL transport

HTTP server will now support both plain HTTP and SSL-based HTTPS. The
protocol flavor can be chosen at run-time, either with command line
argument or cloud-init configuration.

To start httpserver in SSL mode pass the --ssl command line parameter,
or build the module in using the fg_ssl run configuration:

   make image=httpserver.fg_ssl

For more details, check out documentation draft:
https://github.com/cloudius-systems/osv/wiki/The-RESTful-API#configuring-ssl
modules: add module with SSL certificates

This module generates certificates and keys for CA, server and
client. It's useful for development.

If included in the build, the CA certificate, server's key and
server's certificate will be installed in the image so that they are
picked up by HTTP server.

Various command line tools will pick up the certificates and keys from
this module's build/ directory.
scripts: add utility for writing REST API clients

This adds a helper class with common code to all clients of OSv's
RESTful API.
Document dependency on python-requests

It is the state-of-the-art library for writing HTTP clients in
python. Its supoprt for SSL is much better than that of urllib or
urllib2. The latter do not provide an easy way to do certificate-based
client authentication which is an immediate reason for switching
to it.

The package is readily available in both Fedora and Ubuntu
distributions.

See: http://docs.python-requests.org/

This package will be used by python clients like trace.py and top.py
httpserver: run tests on both SSL and non-SSL server
httpserver: add SSL-specific tests
scripts: convert top.py to use SSL transport
scripts: make 'trace.py download' support SSL
httpserver: abort in a graceful way upon exception