Due to a bug in mmap() the address space isn't counted against ulimit
until the page is faulted in - so mmapping a large file suceeds, but
cmp SIGSEGVs when it runs out of address space.
Also I don't believe that the madvise( MAP_SEQUENTIAL) has the desired
effect, and mmaping a large file is probably very bad for the UBC.
some memory in case the mmapped contents would be changed and this fails
for very large files; it's unnecessary anyway, cmp(1) does not change file
contents in any way.
This fixes bin/10625 by Uwe Klaus.
While here, change the code to fallback to classic stdio if mmap fails.