Global changes made to make shell more universal for future tasks. AbstractCommand, AbstractShellCommand, ShellState, 2 my exceptions and parser added.