Clean up configuration management.

This adds a default `config.yml` file which supports all options through environment variables.
You can use this to launch a container and set any parameter without having to inject your own config file.

----

This also involved a few code changes.

One is to treat defined but unset config parameters as undefined. This is so that if the config references an environment variable which doesn't exist, we act as if that config param weren't set.

The other is to allow passing the elliptics node list through a string (which is what env vars are). Previously `elliptics_nodes` only accepted a hash/dictionary. This change makes it so that it also accepts a list/array or a string.
For example:

    elliptics:
      elliptics_nodes:
        - 1.1.1.1:2222
        - 1.1.1.2:2222

or

    elliptics:
      elliptics_nodes: "1.1.1.1:2222 1.1.1.2:2222"