Implement proper validation of configuration files

Adds validation of configuration files and their contents using the "schema"
third-party module. Configurations for realms and stores are validates:

- Each store must define now its own "config_schema" function, using the
  helpers in the "omni.config" module.
- Additional code is added to "omni.app.make_application" to convert the
  simpler messages from SchemaError into more descriptive messages.
- In "omni.cli.main" errors from configuration file parsing and validation
  are neatly reported.
Exit gracefully when interrupting "omni server"

Instead of presenting a traceback, just exit gracefully when "omni server"
receives a SIGINT signal -- typically as a result of pressing Ctrl-C to
finish it from a termimal.