Mqtt Climate mode/preset payload+icons

Hi, simple request to allow additional configuration options for Mqtt climate platfrom. Easier to show example instead:

platform: climate
# From
modes:
  - "auto"
  - "off"
  - "heat"
# To
modes:
  - name: "Auto"
    icon: "mdi:autorenew"
    payload: "auto"
  - "off"
  - name: "Heat"
    icon: "mdi:fire"
    payload: "heat"

# And presets
preset_modes:
  - "Normal"
  - "Climate keeper"
  - "Dog mode"
  - "Camp mode"
# To
preset_modes:
  - name: "Normal"
    payload: "0"
    icon: "mdi:home"
  - name: "Climate keeper"
    payload: "1"
    icon: "mdi:weather-sunny"
  - name: "Dog mode"
    payload: "2"
    icon: "mdi:dog"
  - name: "Camp mode"
    payload: "3"
    icon: "mdi:campfire"