On the fly core change and several design changes

 - On the fly core change
  * Added reset function for each core
  * Added reset function for each device
  * Added Invalidate TLB function for each core
  * Interrupt is send to the system (SoC) and not directly to the cpu
  * Option to choose between different cpu cores
 - Add SafeCore
 - Clean up code