Compact executive, add trap() and test for dirty reset

- Added API call trap that will take control and loop forever like a
kernel panic.  This lets you attach with a debugger over MIB.
- Added check for dirty resets. A dirty reset is one that does not use
the reset() function.  A poison bit is set upon startup that is cleared
in the reset API function.  Otherwise the executive will trap upon reset,
after reregistering so that it has a valid address for debugging.
Set dirty reset bit before passing control to app module
Update MIB12 API to include trap and reset functions.
- Update API header in shared code
- Update mib12_reflash to use new API
Update MIB12Proxy to have reset function.