Streaming API

This completely changes the API to be streaming rather than take a file
name for the tar side.