##### SUMMARY

When I publish a collection to Galaxy, I see nothing in my console indicating activity, so I wonder if something is stuck.

Reading the [Collections documentation](https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#building-collections), I can see:

> The command waits until the import process completes before reporting the status back. If you wish to continue without waiting for the import result, use the --no-wait argument and manually look at the import progress in your My Imports page.

But it's not apparent just using the CLI, and it would be nice if there was at least something like a row of dots or a spinner or something (even just `|/-\\` in rotation) to just show that something is happening and the process is not locked up.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME

`ansible-galaxy collection publish`

##### ADDITIONAL INFORMATION

N/A
expected = "The collection path specified '{0}' is not a tarball, use 'ansible-galaxy collection build' to " \
               "create a proper release artifact."
    with tempfile.NamedTemporaryFile(prefix=u'ÅÑŚÌβŁÈ') as temp_file:
        temp_file.write(b"\x00")
        temp_file.flush()
        with pytest.raises(AnsibleError, match=expected.format(to_native(temp_file.name))):
            collection.publish_collection(temp_file.name, None, True)
def test_publish_no_wait(galaxy_server, collection_artifact, monkeypatch):
    mock_display = MagicMock()
    monkeypatch.setattr(Display, 'display', mock_display)
    artifact_path, mock_open = collection_artifact
    fake_import_uri = 'https://galaxy.server.com/api/v2/import/1234'
    mock_open.return_value = StringIO(u'{"task":"%s"}' % fake_import_uri)
    expected_form, expected_content_type = collection._get_mime_data(to_bytes(artifact_path))
    collection.publish_collection(artifact_path, galaxy_server, False)
    assert mock_open.call_count == 1
    assert mock_open.mock_calls[0][1][0] == '%s/api/v2/collections/' % galaxy_server.api_server
    assert mock_open.mock_calls[0][2]['data'] == expected_form
    assert mock_open.mock_calls[0][2]['method'] == 'POST'
    assert mock_open.mock_calls[0][2]['validate_certs'] is True
    assert mock_open.mock_calls[0][2]['headers']['Authorization'] == 'Token key'
    assert mock_open.mock_calls[0][2]['headers']['Content-length'] == len(expected_form)
    assert mock_open.mock_calls[0][2]['headers']['Content-type'] == expected_content_type
    assert mock_display.call_count == 2
    assert mock_display.mock_calls[0][1][0] == "Publishing collection artifact '%s' to %s %s" \
        % (artifact_path, galaxy_server.name, galaxy_server.api_server)
    assert mock_display.mock_calls[1][1][0] == \
        "Collection has been pushed to the Galaxy server, not waiting until import has completed due to --no-wait " \
        "being set. Import task results can be found at %s" % fake_import_uri
def test_publish_dont_validate_cert(galaxy_server, collection_artifact):