Adding concurrent download capabilities.

closes #5 
I mostly followed along with this paper and modelled the walking and
processing after the bounded.go example.

http://blog.golang.org/pipelines