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