Using Prismatic Schema for validating/defaulting/converting user config

This is a first cut at using Prismatic Schema for config.  Also uses some of the readable ns layout stuff from here: https://github.com/Prismatic/eng-practices/blob/master/clojure/20130927-ns-organization.md on the config.clj.

Current Features:
- Allows specifying an optional value with a default
- Converts a map to the format required by a schema
- Removes keys not defined by a schema
- All database and command processing config uses schema

Still Todo (separately):
- Add schema for global config
- Separate schema.clj (and tests) into a separate library
- Support nested maps
- More testing/extensions/control around error messages
- Discussion with other Schema users to see if there's any interest in part of this going upstream