More ITS#7589: Fix prev commit.

mp_pages gives #pages in the ovpage. OVPAGES() no longer does.
More ITS#7589 followup: OVPAGES() -> mp_pages.
Tweak mdb_page_malloc(),mdb_page_get() semantics.

mdb_page_malloc(): Add "number of pages" parameter.
mdb_page_get(): Add output param for how page was found.
Do not set return params on error.
mdb_cursor_put(): Catch mdb_page_get() error.

Prepares for next commit, no change in caller behavior other
than on mdb_page_get error.
ITS#7515 Fix nested txn touch of subpage/ovpage.

mdb_page_touch(): Don't touch a subpage, replacing with non-subpage.
mdb_cursor_put(): Don't overwrite ancestor txn's dirty overflow page.
ITS#7598 mdb_dbi_open(named DB): Check mainDB flags.

Reject attempts to open named databases if the main
database has flag MDB_DUPSORT or MDB_INTEGERKEY.

DUPSORT would require an xcursor for the DB, INTEGERKEY
would expect the DB name to be a binary integer.
ITS#7598 Tweak MDB_<NEXT/PREV>_NODUP,fix mdb_stat.

MDB_NEXT_NODUP, MDB_PREV_NODUP: Allow for non-MDB_DUPSORT databases.
No mdb.c code changes needed.

mdb_stat.c: Use MDB_NEXT_NODUP, to avoid a crash with a DUPSORT mainDB.
mdb_stat cleanup.

Exit with success when there was no failure.
Do not use data containing NUL as a DB name (which is a C string).
Factor out mdb_find_oldest,mdb_dlist_free,dirty_list.

Do not rescan reader table (mdb_find_oldest) after "goto again".
Skip clearing dirty_list[nonzero].mid in mdb_dlist_free(); it
was not done in mdb_reset0() anyway.
Drop unused liblmdb MIDL-range support.