Issue title: [FEATURE REQUEST] module xml set_attribute(s)
 Issue body: **Is your feature request related to a problem? Please describe.**
Regarding this BUG https://github.com/saltstack/salt/issues/61688 - the better solution in this special case (same file to edit) is to extend/add function to allow multiple manipulations of the xml file.

**Describe the solution you'd like**
add another function:
xml.set_attributes
```yaml
manipulate files:
    module.run:
    - xml.set_attributes:
        - set_port:
          - file: '{{ pillar["crowd"]["installation_path"] }}/{{ pillar["crowd"]["app_name"] }}/apache-tomcat/conf/server.xml'
          - element: './/Service[@name="Catalina"]/Connector'
          - key: 'proxyPort'
          - value: '443'
        - set_scheme:
            - file: '{{ pillar["crowd"]["installation_path"] }}/{{ pillar["crowd"]["app_name"] }}/apache-tomcat/conf/server.xml'
            - element: './/Service[@name="Catalina"]/Connector'
            - key: 'proxyPort'
            - value: '443'
```

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
set_port // set_scheme is here just a internal name which increased readability

 Comments: 
 Comment 0: As mentioned in the associated issue, it's not really a bug in Salt. This feature is just not how Salt works (module.run as a state should be a fallback if there's no other built-in state that will do what one needs).
{'source': 'GithubIssues', 'repo_name_with_owner': 'saltstack/salt', 'issue_id': 1148311877, 'repo_stars': 14218.0}