Patch #1407135, bug #1424041, make mmap.mmap(-1, length) work the same
on both Unix (SVR4 and BSD) and Windows.  Restores behaviour of passing -1
for anonymous memory on Unix.  Use MAP_ANONYMOUS instead of _ANON since
the latter is deprecated according to Linux (gentoo) man pages.

Should we continue to allow mmap.mmap(0, length) to work on Windows?
0 is a valid fd.

Will backport bugfix portions.
diff --git a/Doc/lib/libmmap.tex b/Doc/lib/libmmap.tex
index e7db814..3dca40f 100644
--- a/Doc/lib/libmmap.tex
+++ b/Doc/lib/libmmap.tex
@@ -37,7 +37,8 @@
 exception.  Assignment to an \constant{ACCESS_WRITE} memory map
 affects both memory and the underlying file.  Assignment to an
 \constant{ACCESS_COPY} memory map affects memory but does not update
-the underlying file.
+the underlying file.  \versionchanged[To map anonymous memory,
+-1 should be passed as the fileno along with the length]{2.5}
 
 \begin{funcdesc}{mmap}{fileno, length\optional{, tagname\optional{, access}}}
   \strong{(Windows version)} Maps \var{length} bytes from the file