Don't repeatedly fetch currency rates we can never get

When a currency rate provider doesn't return a rate for a range we're
asking and that it isn't due to a temporary problem, write that in the
cache so we don't repeatedly ask for it. Fixes #374.