title: Resolve one Typesafe Config object with other
body: <p>I want to resolve one <code>Config</code> object, say <code>config1</code> with other, say <code>config2</code>. </p>
  
  <p>The only public API that allows something of the sort is <code>config1.withFallback(config2).resolve()</code>. However this adds entries from <code>config2</code> to <code>config1</code> which is not something we want.</p>
  
  <p>On some investigation, we found a non-public class named <code>ResolveContext</code> which provides a method for that. So we are making use of that using reflection. Our current code:</p>
  
  <pre><code>object ConfigImplicits {
    implicit class RichConfig(val config: Config) extends AnyVal {
      def resolveWith(source: Config): Config = {
        val resolver = resolveContext.getDeclaredMethod(
          "resolve", 
          abstractConfigValue, 
          abstractConfigObject, 
          configResolveOptions
        )
        resolver.setAccessible(true)
        resolver.invoke(
          null,
          config.underlyingAbstractConfigObject,
          source.underlyingAbstractConfigObject,
          ConfigResolveOptions.defaults
        ).asInstanceOf[ConfigObject].toConfig
      }
  
      def underlyingAbstractConfigObject = {
        val f = simpleConfig.getDeclaredField("object")
        f.setAccessible(true)
        f.get(config)
      }
    }
  
    val resolveContext = Class forName "com.typesafe.config.impl.ResolveContext"
    val abstractConfigValue = Class forName "com.typesafe.config.impl.AbstractConfigValue"
    val abstractConfigObject = Class forName "com.typesafe.config.impl.AbstractConfigObject"
    val configResolveOptions = classOf[ConfigResolveOptions]
    val simpleConfig = Class forName "com.typesafe.config.impl.SimpleConfig"
  }
  </code></pre>
  
  <p>We realize that relying on non-public innards might not be a good idea. So:</p>
  
  <ol>
  <li>Is there a public method, that we somehow missed, which already does this?</li>
  <li>If not, shall we make a pull request?</li>
  </ol>