Add ability to run programs, wait for them and parse errors to SIM30
Update shell with common error handling
Update momo to latest version
Add ability to attach logs to simulator output

- currently attaches to UART1 in sim30
- builds a temporary file that is automatically disposed upon cleanup
- contents are available as a string by calling get_log after calling
attach_log, running the simulator and then calling finish