Create a new Transport.fetch utility for default fetch behavior
Most application level code using jgit (such as an IDE plugin) will
want to issue a fetch against a Transport and ignore the details of
how/why local tracking refs should be updated. We hide this away
in our Transport.fetch method and offer the final results back as
a new FetchResult object, which the application can then format for
display as it desires.
Tracking refs are updated according to the RefSpecs configured as
part of the RemoteConfig. We now honor the force/non-force update
requests configured in each specification, correctly aborting an
update if it would not be a fast-forward type of update.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>