### Summary

I would like to use ansible.builtin.get_url to download a file and check it against a SHA3 512 checksum. It appears that [hashlib](https://docs.python.org/3/library/hashlib.html) supports SHA3 and even uses it by default as of Python 3.9.

### Issue Type

Bug Report

### Component Name

get_url

### Ansible Version

```console
2.15.0
```

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)
- name: Retrieve the file
  ansible.builtin.get_url:
    url: "https://example.com/file"
    checksum: "sha3_512:{{ file_checksum }}"
    dest: "file"
  vars:
    file_checksum: '{{ lookup("file", "file.sha3_512").split()[0] }}'
```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
os.rename(b_tmp_dest_name, b_dest)
                            except (shutil.Error, OSError, IOError) as e:
                                if unsafe_writes and e.errno == errno.EBUSY:
                                    self._unsafe_writes(b_tmp_dest_name, b_dest)
                                else:
                                    self.fail_json(msg='Unable to make %s into to %s, failed final rename from %s: %s' %
                                                       (src, dest, b_tmp_dest_name, to_native(e)), exception=traceback.format_exc())
                        except (shutil.Error, OSError, IOError) as e:
                            if unsafe_writes:
                                self._unsafe_writes(b_src, b_dest)
                            else:
                                self.fail_json(msg='Failed to replace file: %s to %s: %s' % (src, dest, to_native(e)), exception=traceback.format_exc())
                    finally:
                        self.cleanup(b_tmp_dest_name)
        if creating:
            
            
            umask = os.umask(0)
            os.umask(umask)
            os.chmod(b_dest, DEFAULT_PERM & ~umask)
            try:
                os.chown(b_dest, os.geteuid(), os.getegid())
            except OSError:
                
                
                pass
        if self.selinux_enabled():
            
            self.set_context_if_different(dest, context, False)
    def _unsafe_writes(self, src, dest):