Add year argument to public BaseDatasource methods

This is a little thing, but caused a moment of friction when I
was getting started.

The invoke tasks appear to pass a year argument to these methods
and the states that are implemented all have the year argument
in their signature.

If a developer doesn't implement one of the required methods in
the state.datasource.Datasource class, a TypeError is raised
because of the mismatched signature instead of the NotImplemented
exception which would have reminded the contributor which methods
they need to implement in their subclass.