Bump client version to get SNI fix
Merge pull request #327 from alphagov/bump-client-version

Bump client version to get SNI fix
Rename NewDataSet to DataSet

It was named this during the refactor. It is no longer the 'new' data
set class, it is 'the' data set class.
Merge pull request #328 from alphagov/new-data-set

Rename NewDataSet to DataSet
Attempt to convert excel floats to int

This matches the CSV parser and avoids failures against the JSON schema
for transactions by channel.
Merge pull request #329 from alphagov/convert-excel-float-to-int

Attempt to convert excel floats to int
Add (initially broken) tests
Add Year periods

We need Backdrop to be able to support yearly periods so it can handle yearly data from organisations (eg HMRC).
Better tests for periods' valid_start_at method

Week, month and quarter periods lack the precision of the smaller
periods. This seems inconsistant.
Merge pull request #330 from alphagov/add-year-period

Add Year periods
Make larger periods more precise

Previously we were less precise for weeks, months and quarters, which
was inconsistant with how we were treating smaller periods.
Merge pull request #331 from alphagov/fix-valid_start_at

Make larger periods more precise
Add convenience method for getting max_age_expected
Add test to check that seconds out of date returns `None` or `int`

- TODO complete method/tests to return meaningful value by including max_age_expected timedelta in the comparison
Add in data-sets as objects to message

- also add in new method and TODO test for seconds-out-of-date attribute
Change seconds out of date calculation

- Old calculation `now - (last_updated - max_age_delta)` which would do e.g. 100 - (10 - 10) = 100
- New calculation `now - last_updated - max_age_delta` which does e.g. 100 - 10 - 10 = 80
Add in freezegun and do some time tests for seconds out of date attr

- test with 0
- test with a day tolerance but 3 days out of date
Change the conditions for a data-set being out of date

- If it's never been updated, we can assume that it's in work. This can be subject to discussion, but my hunch is this is going to be the simplest way to maintain this
- Return full data-set status objects for both in-date and out-of-date data-sets. We can mod the status endpoint to always return both, or just one, or just the other, depending on need. Again, a hunch, but I feel we should be able to see how in-date something is as well as how out-of-date it is.
- Add `max-age-expected` to the status object
Update `get_seconds_out_of_date` to return `None` if `get_max_age_expected` is `None`

- Also, pep8