ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT.

Ignore key, broken by 5bda3565a9bfaa6cd54053faeafcc06da15bc00c
and some older code.  Document and clarify MDB_CURRENT usage.

Also affects non-MDB_CURRENT put() with empty data and a key
which matches by the mdb_set_compare function but not by memcmp.
mtest[46]: Use different DBs when different flags.
mtest*.c, sample-*.c: Add/note error checks.
revert to original env structure
Merge remote-tracking branch 'mdb/mdb.master' into mdb.master
Merge branch 'mdb.master' into win32_original
ITS#7815 fix mdb_page_split

Was leaving cursor pointed at wrong page if the newindx was
in the right sibling page, and the parent was also split.
ITS#7815 more for page_split

This case didn't come up in testing. Needs finer grained test.
Merge branch 'mdb.master' of http://www.openldap.org/software/repo/openldap into win32_original
make mdb determine max key size. it should be greater than 511
lock mutex when creating env so multiple environments can be created in different
threads at the same time
sync back our win32 changes for growing the file
add declarations