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