Implemented repo downloads using streams

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