Issue title: Water Heater component does not support target_temperature_step
 Issue body: ## Context

I am working on integration ( https://github.com/chomupashchuk/ariston-remotethermo-home-assistant ) which includes water_heater. Ariston supports steps of "0.5" for climate but "1.0" for water_heater. There is no attribute for water_heater to indicate temperature step and by default it is "0.5", which means in my case i need to make 2 clicks every time to change temperature by 1 degree (please see how entity looks https://i.postimg.cc/qqh7Mxk6/Capture.png).
I was referred from https://github.com/home-assistant/core/issues/32356

## Proposal

Support property target_temperature_step within water_heater

## Consequences

Less annoying change of temperature for water heater and rounding or truncating values in the code.

 Comments: 
 Comment 0: It's possible now.

Do:
```
@property
    def device_state_attributes(self):
        """Return the optional device state attributes."""
        data = {"target_temp_step": 1}
        return data
```

Check it out here: https://github.com/pszafer/home-assistant-bosch-custom-component/blob/cf75aa304b02239d67455a2286de8185a121d47b/custom_components/bosch/water_heater.py#L147
 Comment 1: Thanks, such setting of property worked
{'source': 'GithubIssues', 'repo_name_with_owner': 'home-assistant/architecture', 'issue_id': 574876724, 'repo_stars': 249.0}