### Summary

I'm trying to optimise my builds by avoiding unnecessary downloads.
ansible-galaxy install always downloads the latest version even if the existing collection already meets the requirements. This behaviour appears to be consistent with the documentation (https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-an-older-version-of-a-collection), but why has it been implemented to always download ?


e.g. I have
```
# /usr/local/lib/python3.8/site-packages/ansible_collections
Collection                    Version
----------------------------- -------
amazon.aws                    3.5.0  
...
```
and requirements.yml
```
---
collections:
  - name: amazon.aws
    version: '>=1.5.0'
```
if I run ansible-galaxy install -r requirements.yml I get amazon.aws 6.1.0 installed, even though 3.5.0 already meets my 1.5.0 requirement. I would expect nothing to happen because my requirements were already met.

### Issue Type

Feature Idea

### Component Name

ansible galaxy

### Additional Information

People who like the existing behaviour could perhaps use the recently added --upgrade switch to continue to get the upgrade to the lastest version.

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
remove_parser = parser.add_parser('remove', parents=parents, help='Delete roles from roles_path.')
        remove_parser.set_defaults(func=self.execute_remove)
        remove_parser.add_argument('args', help='Role(s)', metavar='role', nargs='+')
    def add_delete_options(self, parser, parents=None):
        delete_parser = parser.add_parser('delete', parents=parents,
                                          help='Removes the role from Galaxy. It does not remove or alter the actual '
                                               'GitHub repository.')
        delete_parser.set_defaults(func=self.execute_delete)
    def add_list_options(self, parser, parents=None):
        galaxy_type = 'role'
        if parser.metavar == 'COLLECTION_ACTION':
            galaxy_type = 'collection'
        list_parser = parser.add_parser('list', parents=parents,
                                        help='Show the name and version of each {0} installed in the {0}s_path.'.format(galaxy_type))
        list_parser.set_defaults(func=self.execute_list)
        list_parser.add_argument(galaxy_type, help=galaxy_type.capitalize(), nargs='?', metavar=galaxy_type)
        if galaxy_type == 'collection':
            list_parser.add_argument('--format', dest='output_format', choices=('human', 'yaml', 'json'), default='human',
                                     help="Format to display the list of collections in.")
    def add_search_options(self, parser, parents=None):
        search_parser = parser.add_parser('search', parents=parents,
                                          help='Search the Galaxy database by tags, platforms, author and multiple '
                                               'keywords.')
        search_parser.set_defaults(func=self.execute_search)
        search_parser.add_argument('--platforms', dest='platforms', help='list of OS platforms to filter by')
        search_parser.add_argument('--galaxy-tags', dest='galaxy_tags', help='list of galaxy tags to filter by')
        search_parser.add_argument('--author', dest='author', help='GitHub username')
        search_parser.add_argument('args', help='Search terms', metavar='searchterm', nargs='*')
    def add_import_options(self, parser, parents=None):