Without this patch, when using lit's internal shell, if env on a lit
RUN line calls cd, diff, or any of the other in-process shell
builtins that lit implements, lit accidentally searches for the latter
as an external executable.
This patch puts such builtins in a map so that boilerplate for them
need only be implemented once. This patch moves that handling after
processing of env so that env calling such a builtin can be
detected. Finally, because such calls appears to be useless, this
patch takes the safe approach of diagnosing them rather than
supporting them.