Fixes KeyError bug and catches KeyboardInterrupt

- make sure new_data['dyno'] is populated before using it
- add keyboard interrupt
- log errors and display on exit
- reset curses on exit.