Fix for for nested withConfig (issue #447). Includes tests.

When nesting calls to withConfig, deep copying config causes an
unbounded loop/stack exception as config.configuration references
config itself. Passing config through _.omit to filter out
.configuration prior to deep copying resolves this issue.