Update run() to catch and ignore ExitMainLoop for clean exit

Without this change raising ExitMainLoop to signal urwid to stop currently errors out and leaves the terminal in an unclean state.