The following `datetime` objects now have time zone info attached:
* `RainwaveAlbum.added_on`
* `RainwaveAlbum.cool_lowest`
* `RainwaveAlbum.played_last`
* `RainwaveSchedule.start`
The documentation for `RainwaveSchedule.start` has been clarified: this is an _estimated_ start time for the event. Even after an event occurs, this property will not give an accurate start time for the event.
`RainwaveSchedule` gained the following new properties:
* `start_actual` (a `datetime`) gives the real start time for a current or past event. For events that have not started yet, this property is `None`.
* `end` (a `datetime`) gives the end time for an event. For events that have not started, the end time is estimated. For events that have already started, the end time is exact.
* `length` (an `int`) gives the duration in seconds for an event. For future elections, this property is the average of the durations of all songs in the election. `RainwaveSchedule` objects now also support `len()`.
`RainwaveClient.call()` has been updated to make API requests using `POST` instead of `GET`. This should resolve many bugs and "Missing ... data in API response" errors. If you use `call()` directly you can override the request method with the new `method=` argument.