[kernel][vm] VMAR Activate can fail

Changes the definition of the VMAR Activate method, and more
specifically the RegionList::InsertRegion method, such that it is
allowed to fail. As a consequence various methods, especially related
to splitting and merging mappings, need to be re-structured to ensure
a clean success or rollback.

Although InsertRegion cannot fail today, this change prepares for
changing the WAVL tree in the RegionList to a BTree, where insert will
be able to fail.

Bug: 497600362
Change-Id: I94ac6dc423598571250af4e121d5a618d3ec09ab
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1574913
Reviewed-by: Rasha Eqbal <rashaeqbal@google.com>
Commit-Queue: Adrian Danis <adanis@google.com>
6 files changed