MM and interrupt improvements. (last 2 weeks)

For future reference
```
rustboot:ironkernel*1 $ git fetch ironkernel -v
From github.com:wbthomason/ironkernel
 = [up to date]      arm        -> ironkernel/arm
 = [up to date]      fasm       -> ironkernel/fasm
 = [up to date]      fix        -> ironkernel/fix
 = [up to date]      master     -> ironkernel/master
 = [up to date]      versatilepb -> ironkernel/versatilepb
rustboot:ironkernel*1 $ git merge ironkernel/master 
Updating 2bfb91c..75261cd
Fast-forward
rustboot:ironkernel*1 $ git rebase --interactive --onto ironkernel master~20 master~6
rustboot:21bcecb9 $ git co ironkernel
rustboot:ironkernel*1 $ git merge 21bcecb9a33541
Updating 75261cd..21bcecb
Fast-forward
 arch/arm/boot/aeabi_runtime.s |   2 ++
 arch/arm/cpu/interrupt.rs     |  30 +++++++++++++++++++++---------
 arch/arm/cpu/mmu.rs           |  23 ++++++++++-------------
 arch/arm/cpu/mod.rs           |   3 +++
 arch/arm/drivers/mod.rs       |   4 +---
 kernel/memory/allocator.rs    |  94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------
 kernel/memory/mod.rs          |   3 ++-
 kernel/memory/physical.rs     |  34 ++++++++++++++++++++++++++++++++++
 kernel/memory/virtual.rs      |   2 +-
 kernel/mod.rs                 |  47 ++++++++++++++++++++++++++++++++++++++++-------
 kernel/rt.rs                  | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------
 rust-core                     |   2 +-
 12 files changed, 266 insertions(+), 121 deletions(-)
 create mode 100644 kernel/memory/physical.rs
rustboot:ironkernel $ git push
```