try to outsmart the flooding couchdb thing

couchdb crashed after going about halfway

try to throttle the amount of activity by bailing early (I think it
was the stacked up calls to try to push header over and over again)
refactored a little bit

using async.eachLimit rather than queue, plus upgrade to latest async,
plus spit out proper errors rather than strings.  Hasn't crashed yet.

Used to crash couchdb; not sure why, not sure why this is fixing it
exactly, but I suspect i was exiting my loop too fast and stacking up
save calls, even though I should have been hitting the queue one at a
time.