add concept of "max forecast hour" to data source

Datasets won't be fetched for later than this hour.
aonuisync: get maximum retries from fetch strategy
aonuisync: do not corrupt file when retrying downloads