<!--- Verify first that your issue is not already reported on GitHub -->
<!--- Also test if the latest release and devel branch are affected too -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Explain the problem briefly below -->
It seems that the `set_options` method is not called when a callback is from a collection.
In `task_queue_manager.py` in `load_callbacks`, the loop handling collection callback is not calling `callback_obj.set_options()` while it is performed for the other callback source.


##### ISSUE TYPE
- Bug Report

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
task_queue_manager.py

##### ANSIBLE VERSION
<!--- Paste verbatim output from "ansible --version" between quotes -->
```paste below
ansible 2.9.2
  config file = /Users/remirey/dev/ansible_collections/community/grafana/tmp/ansible.cfg
  configured module search path = [u'/Users/remirey/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/remirey/.venv/grafana/lib/python2.7/site-packages/ansible
  executable location = /Users/remirey/.venv/grafana/bin/ansible
  python version = 2.7.13 (default, Apr  4 2017, 08:47:57) [GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.38)]
```

##### CONFIGURATION
<!--- Paste verbatim output from "ansible-config dump --only-changed" between quotes -->
```paste below
DEFAULT_CALLBACK_WHITELIST(/Users/remirey/dev/ansible_collections/community/grafana/tmp/ansible.cfg) = [u'community.grafana.grafana_annotations']
```

##### OS / ENVIRONMENT
<!--- Provide all relevant information below, e.g. target OS versions, network device firmware, etc. -->
N/A

##### STEPS TO REPRODUCE
<!--- Describe exactly how to reproduce the problem, using a minimal test-case -->

See https://github.com/ansible-collections/grafana/issues/30

<!--- HINT: You can paste gist.github.com links for larger files -->

##### EXPECTED RESULTS
<!--- Describe what you expected to happen when running the steps above -->
No error/warning when executing the `grafana_annotations callback from a collection.

##### ACTUAL RESULTS
<!--- Describe what actually happened. If possible run with extra verbosity (-vvvv) -->

<!--- Paste verbatim command output between quotes -->
```paste below

 [ERROR]: Could not submit message to Grafana: 'CallbackModule' object has no attribute 'grafana_url'


PLAY [localhost] ********************************************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************************************
ok: [localhost]

TASK [debug] ************************************************************************************************************************************************************************
ok: [localhost] => {
    "msg": "nothing to do"
}

PLAY RECAP **************************************************************************************************************************************************************************
localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

[WARNING]: Failure using method (v2_playbook_on_stats) in callback plugin (<ansible_collections.community.grafana.plugins.callback.grafana_annotations.CallbackModule object at
0x108d6ef90>): 'CallbackModule' object has no attribute 'dashboard_id'
```

'''
        Iterates over the roles/tasks in a play, using the given (or default)
        strategy for queueing tasks. The default is the linear strategy, which
        operates like classic Ansible by keeping all hosts in lock-step with
        a given task (meaning no hosts move on to the next task until all hosts
        are done with the current task).
        '''
        if not self._callbacks_loaded:
            self.load_callbacks()
        all_vars = self._variable_manager.get_vars(play=play)
        warn_if_reserved(all_vars)
        templar = Templar(loader=self._loader, variables=all_vars)
        new_play = play.copy()
        new_play.post_validate(templar)
        new_play.handlers = new_play.compile_roles_handlers() + new_play.handlers
        self.hostvars = HostVars(
            inventory=self._inventory,
            variable_manager=self._variable_manager,