Migrate to use process_madvise syscall instead of procfs interface for memory compaction

Currently the system uses procfs and we are migrating to use a syscall called process_madvise
which makes the code upstreamable and will allow for making compaction widely available for multiple
android devices.

It also opens room for future developments that involve a finer grain VMA compressions
than the current procfs allows.

Test: Ran the system without crashes and verified am_compact was effectively showing compressed memory (free zram reduced) when compressing.

Bug: 162993824
Test: Manual, verified that zram was being increased over time after compactions happened
Change-Id: I9d9d895aee7fbc46a2f12f6ca080ab8457ea7222
(cherry picked from commit 8a41690efc576b731669ce165de66fdc6eee273d)
3 files changed