Add CuahsiVariable model and collection
Add CuahsiVariable model and collection

CuahsiVariable model and collection represent each variable for
a given result. They are initially populated by the /search/
(id, name, concept_keyword, wsdl, site) and /details/ (units,
begin_date, end_date) endpoints, but also have additional
fields (most_recent_value, values, error) for fetching values.

CuahsiVariable support searching, given a time range. The range
is validated and capped to the begin and end dates on the model.
If none is specified, we go with the most recent week or the
entire range, whichever is shorter.

When the results return, if there are any values, we populate
the most_recent_value field with the last reported value. This
field will be used in the table UI.

The error field is set if fetching fails, or if the returned
set has 0 values.

WikiWatershed/model-my-watershed,WikiWatershed/model-my-watershed,WikiWatershed/model-my-watershed,WikiWatershed/model-my-watershed,WikiWatershed/model-my-watershed