Implement http and https fetch transport support
We now support a generic "dumb object walker" that can fetch loose
and packed objects from remote repositories. The generic walker is
able to provide the object parsing services necessary to determine
what files we want to obtain from the remote (or one of its possible
alternates).
The actual file transport is left to protocol specific implementations,
making the generic object walker fully reusable across multiple types
of dumb transport protocols.
Currently we support http and https through the standard URL support
within the J2SE platform. Better open source HTTP clients may be
available for Java, but these would need to be a library, like JSch,
and therefore are slightly more difficult to work with than the
stock http/https support.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>