mmu: Fix msync() vma range walk

The tst-mmap.so test case noticed the following breakage in msync():

  Running mmap tests
  Assertion failed: msync(buf, 4096*9, MS_ASYNC) == 0
  (../../tests/tst-mmap.cc: main: 207)
  Aborted

The problem is that msync() uses the contains function which checks if
[start, end) is in a vma range but we really are interested in whether
the vma intersects with [start, end).

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