cpu: removed NAKED attribute from ISRs

After some thoughts and discussion in #1654 it seems that the current way of handling ISRs for Arm Cortex based platforms is far from optimal (to put it mildly...). I propose to simplify the ISR code by removing the `naked` attribute and the `ISR_ENTER()` and `ISR_EXIT()` macros. This comes with a penalty of 2 CPU cycles per ISR, but gives us far more robust code.

PLEASE TEST THOROUGHLY!