Improve robustness of the SetVirtualAddressMap usage
This a fix for a violation of the UEFI specification (calling runtime services with interrupts enabled) as well as workarounds for several firmware bugs that exist according to the Linux source code.
Fixes redox#1515 (closed)