Feature release
This release mainly combats changes in Google's OAuth (see 33 and 34), switching to loopback IP address authorisation over manual copy/paste. This change isn't breaking, unless you absolutely need manual copy/paste auth -- in this instance, set `client.legacy_auth = True` before authorising.
Additions
* The `webserver` module, which provides the webserver necessary to perform loopback IP address authorisation
* A `port` kwarg for the `authorise`, `refresh_token`, and `retrieve` methods of the `Analytics` and `AsyncAnalytics` classes, defaulting to 8080
* A `legacy_auth` read/write property for the `Analytics` and `AsyncAnalytics` classes which re-enables manual copy/paste authorisation (if available)
Changes
* Privatised the `log` (now `_log`) variables in each module (this is not considered a breaking change as those should not have been accessed anyway)
* The `ReportType` and `DetailedReportType` ABCs are now dataclasses