Write a new version of config-collapse that merges nested structures
so reconfiguration doesn't lose previous configuration information.
Reference #1172.
Merge branch 'develop' into collapse-nested-structures
Create __wt_config_merge for the merge functionality, called only
from reconfigure at the moment.  Clean up some comments, explain
how config-collapse and config-merge differ.
Messed up the test for a separator character (dot) in the key, the
check has to appear before we build the key we're using for the merge.
Statistics logging requires a wait time, reference #1172.
config_collapse.c:156:12: error: assignment discards 'const' qualifier
from pointer target type [-Werror]
config_collapse.c:158:5: error: format '%s' expects argument of type
'char *', but argument 4 has type 'const void *' [-Werror=format=]
typo
Statistics logging of sources only currently supports lsm: and file: URIs.
The wiredtiger_open final config array contains multiple entries (the
defaults, the config file, the environment variable and the
application-supplied config), merge them instead of collapse so we don't
lose fields in nested structures.
Merge pull request #1205 from wiredtiger/collapse-nested-structures

Implement merging of nested configs for connection reconfigure.
Fix return after branch to error.
Disallow JSON quoting characters in checkpoint names, it's not a good
idea.
Don't check the key for a prefix match if the prefix is longer than the key.
I flipped the comparison, fix it.
Don't check for a checkpoint name match if none was specified (yeah,
it works, but it's not a reasonable check).

Don't let the application specify an illegal checkpoint name, it's going
to fail eventually.

Don't roll our own __wt_buf_fmt() call, it's just wasted effort.

Don't leak memory if the checkpoint server's name is reconfigured.