Zapshell

Originally my goal here was just to implement zapcol, !:, but I ended up rewriting the parser for commands in cabal and Make as well to be much smarter.