virtual_memory: Clean up virtual memory management

* Rename REAL_ADDRESSING to DYNAMIC_ADDRESSING
  REAL never really made sense to me as it points
  to the fact that memory addresses are allocated
  by the OS vs being static.
* Drop rigid linker script allocation.
  This is a really strange hack that causes a lot
  of confusion.
* Simplify memory allocation code
* These changes all are experimental and shouldn't
  be used upstream until they are known working :)