* Added forecast functionality to the weather platform, updated OWM to get forecast data
* style fixes
* Changed returned forecast data to a more managable dict
* Fixed line length
* forecast will always be collected, data returned from owm is based on metric setting
* use list comprehension to create the forecast data
* Added forecast data to the weather demo
* Create dict directly in list comprehension
* Minor variable change in weather demo platform
* Convert forecast temperatures in weather component
* set forecast attributes as constants
* Style fixes and tests
* Copied forecast_entry instead of mutating data
* Fix typo
* Auto-config for `sensor.bom`
Deprecate (but still support) the old two-part station ID, and move to a
single `station` identifier. Any combination of these, including none,
is valid; most results in downloading and caching the station map to
work out any missing info.
* Add `weather.bom` platform
Very similar to `sensor.bom`, but supporting the lovely new `weather`
component interface. Easier to configure, and does not support the
deprecated config options.
* Review improvements to BOM weather
Largely around better input validation.