Network.Fetch() accepts optional refspec

Added RefSpecs property to FetchOptions to allow for custom refspecs to
be fetched. The refspecs are used only temporarily and not stored in the
configuration.

Fixes #572. Depends on #584.

Maybe we should make `refSpecs` an argument for `Fetch` instead of a property of `FetchOptions`? It changes the semantics of the fetch operation significantly.