Transform stream for put, adjust list

Adds internal buffering to list-stream to better maintain concurrency. Makes put stream a transform and adjusts how progress is reported during a tilelive.copy() operation.

Last thing to figure out is whether or not the put stream should [always be in flowing mode](https://github.com/mapbox/tilelive.js/issues/102#issuecomment-67879824).

cc @GretaCB @yhahn 

Fixes #102, #104.