Adding concurrent download capabilities.

I mostly followed along with this paper and modelled the walking and
processing after the bounded.go example.

http://blog.golang.org/pipelines
Merging in multi download changes.
Merge pull request #7 from articulate/multi_download

Adding concurrent download capabilities.