cpu: fixed and moved reboot_arch for cortex cpus

- moved reboot_arch implementations to cortex-Mx_common folders
- added 1ms delay before rebooting to ensure output of last printf
- changed return value to `-1` as defined in `core/include/arch/reboot_arch.h`