new date
Android also only has memalign
Add MDB_ROBUST
Free write mutex earlier in txn_reset0
MDB_ROBUST: Use MDB_PID_T. Drop a wmutex variable.
Must do dlist_free before releasing Wmutex
Use SysV semaphores instead of POSIX

Since they can cleanup after themselves on process exit
Use robust mutexes by default

Making it optional on pthreads just complicates things;
they're always robust on other implementations
Don't use -fPIC for static lib
ITS#7952 .gitignore mdb_dump/load
ITS#7953 .gitignore *.lo
ITS#7955, #7671 fix MDB_PREV_DUP
ITS#7956 fix compact of empty env
ITS#7841 trivial cleanup

TRIVIA - lmdb: clean testdb-dir while "make test".
ITS#7959 Check fstat return value

Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net>
ITS#7961 fix txn init

More fallout from 4d02c741b120786df1b87ee9ed49c1d3f9bc7522
ITS#7959 fix prev commit

fstat returns -1, not an errno. Move code into its own function
for reuse.
ITS#7969 LMDB: volatile & __synchronize().

Globally shared fields of meta-data are not 'volatile'.
ITS#7970 LMDB: Critical Heisenbug

Inconsistent reading & SIGSEGV due to the race condition.
ITS#7971 LMDB: clarification in mdb_txn_renew0().