mm: vm: Add virtual page allocator code

The code hasn't been tested, there's a lot more work to be done on that
front. At the same time, no thought has even gone into a de-allocator if
that ever proves to be necessary.

Be careful using this code, or wait for tests and fixes to be written.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>