Save/restore terminal modes around every Shell#run

Urchin was only restoring the terminal modes that had been saved when
the shell initialized. This was causing problems when eval-ing commands
during tab-completion - when those commands returned, tab would
sometimes be echoed to the screen.

Tested-by: Mark Somerville <ms@pccl.info> [Arch, MRI 2.0.0]
Signed-off-by: Mark Somerville <mark@jellyjelly.net>