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.
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.
Rename samples

They're meant to be read and studied, not run.
Doxygen fixes
mdb_txn_renew0(): Fix un-mutexed me_flags update.

Replace env flag MDB_LIVE_READER with field me_live_reader.
mdb_page_list(): Support & display all page types
More checks for closed DBIs and invalidated txns.

Factor txn/DBI-checks out to TXN_DBI_EXIST().
mdb_audit(): Skip closed DBIs.
mdb_cursor_renew(), mdb_stat(): Check DBI and txn.
mdb_cursor_count(): Check txn.
mdb_dbi_flags(): Check DBI.
Move code out of mdb_cursor_del0() and mdb_del().

Prepares for the next commits.
Don't use non-existent node info in branch/leaf2
Handle more errors. Invalidate txn if needed.
mtest: Accept an MDB_NOTFOUND case
Tweak mdb_mid2l_insert() call from ITS#7775.

It does not return MDB error codes.
Update MDB_PANIC description
Revert "Update MDB_PANIC description" (thinko).

This reverts commit 6bd34d0534f1c8bfd73deaf70febd3b58a2f9d5a.
Revert "ITS#7793 mdb_cursor_put(): Fix MDB_CURRENT."

This reverts commit 4e954f8ae83d5b39736bab2da0eaf2bdf5ee3961.
Caused ITS#7828.
ITS#7828, #7793

Clarify MDB_CURRENT key usage, simplify freelist_save
More for ITS#7793/7828

Note MDB_CURRENT/MDB_DUPSORT requirement