Zaahir/fix forecast caching

//cc @yegg @nilnilnil 

PR #245 is out of date and cannot be merged without resolving conflicts.

This PR resolves those conflicts and fixes caching for the Forecast IA.

In order to make the tests pass I found the caching had to explicitly be turned on or off in in the `handle` function. I'm not sure why this is the case...I just wrote caching tests in https://github.com/duckduckgo/duckduckgo that were passing as expected: https://github.com/duckduckgo/duckduckgo/commit/7348a384b36a1e7cf6fa80eff2c47c0cfb590fd9