net/git-checkout: checkout a tree via the "git://" protocol

The `net/git-checkout` library implements enough of `git clone` to
extract a tree from a repository that is accessed via the "git://"
protocol. It doesn't preserve a local clone, and it attempts to
download only the slice of the repository that is needed for the
requested tree (depending on how the tree is referenced).
net/git-checkout: support the smart HTTP(S) transport

Git-based hosting services most commonly support the smart HTTPS
protocol, which carries "git://"-format payload in a fairly straightforward
way. (Supporting the dumb protocol looks much more difficult.)
net/git-checkout: support ref -> ID mapping without download
net/git-checkout: repairs for HTTP(S)

Declare a "git" user agent, and use a secure client context for HTTPS
unless the `GIT_SSL_NO_VERIFY` environment variable is defined.
file/tar: add `#:exists-ok?` argument

The new argument is needed to reliably write to a tmp file, for
example, where the existence of the tmp file prevents other processes
from using the same name.
raco pkg: support "git://..." and "http[s]://[...].git" sources

Use the `net/git-checkout` library to support git repository servers
in general, instead of supporting only GitHub. A HTTP(S) source is
treated as a repository source when it ends with the ".git" suffix.
guard object=? test properly
update history for 6.1.1

please include in the release
update Redex HISTORY.txt

please include in the 6.1.1 release
fix types of stx->list, stx-car, etc.
test types for typed/syntax/stx
add comments about (Syntaxof Syntax-E)
add types for Stx-Null, Stx-Pairof, and Stx-Listof
adjust the teaching languages to use #true, #false, and '() instead of true false and empty
update history for true, false, empty change
fix some threading issues in set-language-level!

also, minor rackety
adjust docs for drracket/check-syntax so the example
doesn't include paths directly into the plt tree

please include on the release branch.
bring htdp/*sl languages up-to-date with #true, #false, '()
Remove types for interfaces from TR framework.

We don't yet support types for interface values.

Please merge to v6.1.1
Fix types for init arguments in framework

Please merge to v6.1.1