Implemented repo downloads using streams

This implements feature request #93 using the requirements stated in #94

I implemented the tar size prediction. I can't seem to find where to request the file mode etc using Dulwich.
[1] http://www.samba.org/~jelmer/dulwich/apidocs/dulwich.objects.Blob.html
[2] http://www.samba.org/~jelmer/dulwich/apidocs/dulwich.objects.ShaFile.html