Silence some clang warnings
Plug leak in 4d02c741b120786df1b87ee9ed49c1d3f9bc7522

Free writer txn on env_close
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
ITS#7942
ITS#7942 tweak previous commit

Only free when cleaning up operation controls, not response controls.
(This only makes a difference on search requests, which may have
multiple responses with the same set of controls.)
ITS#7943 reinit txn flags

When reusing the main write txn
Merge remote-tracking branch 'origin/mdb.master' into OPENLDAP_REL_ENG_2_4
 lmdb: clean testdb-dir while "make test".
 lmdb-backend: backtrace generation on SIGSEGV and friends (draft);
 lmdb-backend: conditionally support config for 'lifo' and 'coalesce' envflags;
 lmdb-backend: checkpoint-interval seconds instead of minutes.
 lmdb: implementation of "checkpoint kbytes",
       force flush when volume of the changes reached a configurable threshold.
 lmdb: more usefull info from mdb_stat tool;
 lmdb: properly sync meta-pages in mdb_sync_env(),

       check-and-retry if lead txn-id changed
       during flushing data in mdb_sync_env().
 lmdb-backend: support for "checkpoint kbytes" config-option.
 lmdb: MDB_LIFORECLAIM & MDB_COALESCE modes;
 lmdb: 'volatile' to important fields which
       may be updated by readers asynchronously;
 fix: reordering of instructions which update the txn in a meta-page.

 Without "volatile" or memory-barrier compiler may reorder instructions
 for update the "mm_txnid" field in meta-page in "writemap" mode.

 From the reader's point of view this cause a short
 time interval when the transaction is corrupted.
 writemap: lock meta-pages to avoid unexpected write,
           before the data pages would be synchronized.
 ! debugging crutchs, MUST be removed before release:
   - conditionally enforce MDB_LIFORECLAIM & MDB_COALESCE;
   + test pattern hack (this crunch MUST be remove later);
   + inject SIGSERV on 42th checkpoint;