add a way for callback to disable itself

The idea is that some plugin would not be called in some
specific case, and the callback should decide by itself.

Having a way to globally disable it is much cleaner than
disabling every method one by one on the plugin side.

My use case is for fedora-infrastructure that cannot be run
from git checkout since it try to connect to the message bus,
but another case would be to bootstrap infrastructure, or to
run the code on a test servers without having all the callback
infrastructure setup.
add test for the disabling of callback plugins
Template sudo_user via with_items
Merge pull request #4425 from jeromew/ansible_sudo_user_with_items

Template sudo_user via with_items
Corrected docs ("monitor" -> "monitoring" and dissociated monitoring from instance_tags in examples)
Merge pull request #4463 from AndydeCleyre/patch-3

Corrected docs
Make add_host clear the inventory pattern cache, add some more aliases.  Fixes #4442.
Add ssh key options parameter to authorized_key module
Adding 'unique' option to authorized_key module and cleanup

A small refactoring of the authorized_key module to accomodate these
changes, plus fixing some things like not rewriting the file on every
new key. These changes bring the original feature for ssh options in-
line with the comments in #3798

Fixes #3785
Tweak the syntax-detector-warning-suggester-message (SDWSM) a little.
Have the parser explain another type of YAML gotcha to reduce the need for users to ask how to resolve it.
Fixed broken force=yes on files for directories
Deprecation warnings of several flavors, nice and purple and can be disabled
in ansible.cfg.
Add warnings feature.
Remove out of date tests.
Remove out of date tests.
Tweak only_if deprecation detector.
Fixup legacy var detector.
Remove some obsolete tests (mechanism of error detection suboptimal, replacements pending)
Prune legacy tests -- many of these are not part of the official API or documented syntax.