mmt/nvidia: use the same set of fds for ioctl and mmap tracing
mmt: handle dup syscall

Used by new (open) userspace.
mmt: flush binary message stream before dumping state
mmt/mmaptest: updates
mmt/mmaptest: add new test case which triggers assertion failures
mmt: remove invalid assertions

They can fail on perfectly valid state. We cannot check whether
positive and negative regions touch because:
- there's only a limited number of negative regions (10), which
  can be overwritten when needed
- mmt_add_region does not bother splitting negative region when
  new region overlaps with existing negative
mmt: sync mode