arm: ensure that we only perform main boot on CPU0
arm: ensure lr is preserved in interrutps/exceptions
arm: place vector handlers in first page of memory
arm: clean up gic code a little