* The map endpoints return an HTTP 404 error in case of unknown or
out-of-bound locations
* The forecast endpoint with an address returns an HTTP 404 with error
JSON in case geocoding fails
* The forecast endpoints return the errors per metric in the `errors`
field of the forecast
* Implement `Display` for `Metric`
* Use a `BTreeMap` to have an ordered `errors` field/object
* Also log the errors to the console
* Update the tests
* Document the errors that can occur
* Add dependency on the `thiserror` crate
* Add a global `Error` type, but also `maps::Error` and
`providers::combined::MergeError` for convenience
* Add matching `Result` types that default to the respective `Error`
type
* Refactor code to yield all kinds of error variants
* Add FIXMEs where library errors still need to be handled
* Remove documentation that explained why `None` was returned, this is
captured in the error now