new Config object

- support json configs
- support jinja2 templates in config values
- support  'default' environment for falling back