Rework download to be more testable

Separate starting the download from initializing the Download object,
and join the download thread before setting expectations on the outcome
of the test.
Remove AsyncHelper from Download specs
Remove spec/async_helper.rb

This was used for download specs, but isn't any longer. Removes the
`eventually` helper.
Merge pull request #764 from shoes/download

Fix intermittent download spec failures