Object definitions are now restored by default

**This changes default behavior**

With this change, the default behavior is to not preserve the cache.  This will break for users where they are using `proxyquire` to assist in testing Singletons and any other case where the cache is required.

On the flip-side, object definitions are now restored by default.  This is something that is broken in the current release.  For reference, see the discussion at https://github.com/thlorenz/proxyquire/pull/25.