kernel: consolidate error handling code

* z_NanoFatalErrorHandler() is now moved to common kernel code
  and renamed z_fatal_error(). Arches dump arch-specific info
  before calling.
* z_SysFatalErrorHandler() is now moved to common kernel code
  and renamed k_sys_fatal_error_handler(). It is now much simpler;
  the default policy is simply to lock interrupts and halt the system.
  If an implementation of this function returns, then the currently
  running thread is aborted.
* New arch-specific APIs introduced:
  - z_arch_system_halt() simply powers off or halts the system.
* We now have a standard set of fatal exception reason codes,
  namespaced under K_ERR_*
* CONFIG_SIMPLE_FATAL_ERROR_HANDLER deleted
* LOG_PANIC() calls moved to k_sys_fatal_error_handler()

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
diff --git a/kernel/compiler_stack_protect.c b/kernel/compiler_stack_protect.c
index 1e5f98a..ce645b2 100644
--- a/kernel/compiler_stack_protect.c
+++ b/kernel/compiler_stack_protect.c
@@ -36,7 +36,7 @@
 {
 	/* Stack canary error is a software fatal condition; treat it as such.
 	 */
-	z_except_reason(_NANO_ERR_STACK_CHK_FAIL);
+	z_except_reason(K_ERR_STACK_CHK_FAIL);
 	CODE_UNREACHABLE;
 }