Add support for command line argument processing

Now takes the ability to pass in a dict of key/value pairs, probably
from a command line processing thing like argparse, and to overlay them
on the config that came from the files or env vars.

Change-Id: I830699476e2340389979b34704c0dfbfe97a1e08