* rework external irq system, introduce hierarchical irq
* add btrie_map() for allocating free slot, remove isrm
* rewrite the btrie key allocation algorithm for better uniformity
* optimize the tests makefiles, add unit tests for btrie key allocator
* add simple memory allocation monitor for checking leakage and usage
* reduce verbosity of unit test ouput, some clean up
* make irq specifier to be provided when assigining irq
* general fix around.