* Add depend on the `vergen` crate (only use the `build` and `git`
features)
* Add the build script `build.rs` to setup the environment variables
from the build system
* Update the printed version information to use these environment
variables
As a result, services don't always have to provide a `reqwest::Error`
but also return other errors. The error variant `Error::NotAuthorized`
in particular specifies that requests are not or no longer allowed and a
login should be (re)attempted. This way, services can indicate that it
is in this state and not have to provided a 403 status code
`reqwest::Error` to show this.
Add a depend on the `thiserror` crate for this.
In Hoymiles, the date of the last update is part of the API response.
Parse it and use that in `Status` instead of the timestamp provided by
the update loop.
Add a depend on the `chrono` crate for this.