AODAAC challenge captcha

Solving #1214 and #1216 by adding a challenge (captcha) to AODAAC downloads.

This work also unifies AODAAC and Gogoduck controllers into AsyncDownloadController which will handle both and route to either service depending on the `aggregatorService` passed to it. I think now the test coverage is also better.
You can't just `throw "error"`, you'd have to make an Exception. But in this case I'd just go with `fail "Should not be called"` which will fail the test as expected.