Plug mdb_cursor_renew() memleak
Avoid assert

Due to underfilled branch page. We're in the process of merging/moving
nodes to it because we already know it's underfilled. Took this approach
rather than just removing the assert in mdb_page_search_root, because
that assert may yet catch other situations we don't know about.

(Although, it has been there since the original commit of mdb.c and
has never triggered any other times...)
Allow reading freelist while working on it

The circular dependency issues appear to have been resolved.
Still, need to watch closely, maybe revert this change if
problems arise.