Don't load a remote's refspecs lazily

We already have the refspecs parsed the git_remote, and loading them
lazily means we'll be parsing them again, and possibly parse a different
set from the ones we used to have loaded.

Make the loading eager, and pass the RemoteSafeHandle to more places, as
we need to use it in order to provide a single snapshot of the data.
Network: allow downloading from a url

This is our implementation of in-memory remotes. Ask the repository to
fetch/list from a url instead of a remote.
CommitFilter: add simplify-by-first-parent option

Now that this is doable directly inside the revision walker, let's
expose it as a possible filter option.

This fixes #258.
Rename CommitFilter.FirstParent to FirstParentOnly
Refactored Network.Fetch() with FetchOptions

Changed the signature to Network.Fetch(Remote, FetchOptions). As of
#536, optional parameters should be grouped in a xxxOptions type.
Network.Fetch() has currently 5 optional parameters, and a sixth one
(RefSpecs) will be introduced soon.
Network.Fetch() accepts optional refspec

Added Network.Fetch(Remote, IEnumerable<string>, [FetchOptions]) overload to allow for custom refspecs to
be fetched. The refspecs are used only temporarily and not stored in the configuration.

Fixes #572.
Add Archive() to ObjectDatabase
Add tarring capabilities

This commit adds [tar-cs](http://code.google.com/p/tar-cs/) to LibGit2Sharp without any modifications to the original source code.
Trim down tar-cs to keep only the tarring capabilities needed for git-archive

The resulting `TarWriter` file is a low-level abstraction that can be used to write tar files.

Included:
- only keep a unique `TarWriter` file
- merging `UsTarHeader` and `TarHeader`, and adding them as private classes of `TarWriter`
- removal of unneeded `Write` overloads

Some changes to the tar format has been included to better comply with the one described here: http://en.wikipedia.org/wiki/Tar_%28computing%29#Format_details
Add archive as tar functionality

Implemented as an extension method of `ObjectDatabase`.
Lots of logic taken from [archive-tar.c](https://github.com/git/git/blob/master/archive-tar.c).
Add tar archiving tests
Merge pull request #2 from libgit2/vNext

Upstreamed