added requestTimeout, and try/catch in case Forecast.io returns something other than JSON (for instance, a “requests exceeded” message).
Merge pull request #4 from conductrics/master

added requestTimeout, and try/catch around JSON.parse