Move execute to shell.c. This allows us to keep the shell globals local
to shell.c.
More cleanup.