mmu: Fix mincore() for non-resident mmaps

Fix mincore() to follow Linux ABI and return ENOMEM only if (part of
the) memory range is unmapped even if it's not resident.  This is needed
for mincore() to work with demand paged mmaps.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
mmu: VMA permission flags

Add permission flags to VMAs. They will be used by mprotect() and the
page fault handler.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
mmu: Anonymous memory demand paging

Switch to demand paging for anonymous virtual memory.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
tst-mmap.so: mincore() tests for demand paging

As suggested by Nadav, add tests for mincore() interraction with demand
paging.

Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>