Reconfigure cleanup

@agorrod, @sue -- this is the last piece of #1172.

Now we're merging the configuration strings, I changed the underlying reconfigure functions to error in the case of not-found being returned for a configuration string, because we're supposed to have all of them, all the time, now.

Sue, you agreed to do the review.  (I tried to keep the commits separate so it's not a monolithic chunk.)

Alex, I'm copying you on this one because there were a couple of functions I wasn't sure how to fix. Specifically, this chunk in `__wt_cache_config`:
```
/*
 * If not using a shared cache configure the cache size, otherwise
 * check for a reserved size.
 */
if (!F_ISSET(conn, WT_CONN_CACHE_POOL) &&
    (ret = __wt_config_gets(session, cfg, "cache_size", &cval)) == 0)
        conn->cache_size = (uint64_t)cval.val;
                        
if (F_ISSET(conn, WT_CONN_CACHE_POOL) &&
    (ret = __wt_config_gets(session, cfg,
    "shared_cache.reserve", &cval)) == 0 && cval.val != 0)
        cache->cp_reserved = (uint64_t)cval.val;
else if ((ret = __wt_config_gets(session, cfg,
    "shared_cache.chunk", &cval)) == 0)
        cache->cp_reserved = (uint64_t)cval.val;
WT_RET_NOTFOUND_OK(ret);
```
and pretty much all of `__wt_cache_pool_config`.  I'll try and catch up with you tonight and talk those over.

I can buy that.  But then that means probably all of the _destroy functions should be changed and fixed.  All of the ones I glanced at just now (log, async, sweep) do exactly as you say, immediately get a session from the default_session.