SHELL_Run() updated to free the shell object even when an exception is
being thrown. DOS_Shell given a destructor so it can free the batch file
object on shutdown. Both fix about 4-5 reported memory leaks reported by
Valgrind.