Populate interrupt vector with datasheet names and allow function replacement

interrupt_map.c contains name duplications, but it is still pure C++ (with gcc attributes and one macro)