There are a small number of places where we'll want to pass data to the
shell. Add a function which formats a command name and arguments into a
command that invokes "sh -c" with the appropriate args. Additionally
add a form that quotes its arguments, and use this in the SSH code,
which wants to pass data to the shell.
In a future commit, we'll be adding some additional shell-related
handling which logically belongs to the subprocess package. To avoid an
import loop, move the ShellQuote function and its required variable from
the tools package to the subprocess package. Update the only caller of
this function.
This commit contains no functional change.
Extract more basic http-related functionality out of lfsapi and
into a new package, lfshttp. Everything is currently functional
aside from authorization.