Remove side effects around config.defaults

`config.defaults` currently depends on side effects to work. Several different functions touch it and it never gets reset within a single runtime.

It would be better to pass these options around as function parameters. @rclark does having configStack take this as an option work for your use case? Basically you pass in your `defaults` as an option for `configStack` instead of setting them globally on `config.defaults`.