Forecast

This is the implementation of the Forecast Reminder CYOA exercise.
The code is in event_system/forecast_worker

This will show the forecast for the location of Chicago and allows users to register and get forecast information for their own city. The information is updated every hour from the NWS service using their Restful XML API and current weather is pulled from the specific weather station. The data is stored locally for easy access.

The application supports emailing users the forecast in the morning with the current conditions. This allows the user get update by email.

The forecast can be retrieved in JSON for current and past forecasts using the following calls
```
/forecast/index.json
/forecast/index.json?start_time=YYYY-MM-DD
```
I would say that I left it in here, since I could make Location an active record model and just add locations as I add users, but I thought for now there was no real requirement for that so it was easy enough to add that way.

As for the uniq, yes it works as expected and generates a clean SQL statement with results filtered in ruby:
```
[1] pry(main)> User.uniq.pluck(:zip_code)
   (0.1ms)  SELECT DISTINCT "users"."zip_code" FROM "users"
```

Where doing it the other way does the filtering in ruby instead of letting the database handle it:
```
[2] pry(main)> User.pluck(:zip_code).uniq
   (0.2ms)  SELECT "users"."zip_code" FROM "users"
```