Expose the playbook to callback plugins
Spelling, grammar, layout changes, plus more examples and an orchestration chapter
Allow vault encrypted vars as extra_vars

Forward the vault_password to the yaml file utility.
authorized_key: Be more specific about manage_dir

- Explain which properties are managed when manage_dir is True.
Improvements to the rax inventory script
Treat 255 errors from raw as dark host

Any other module is able to detect a dark host, but raw was treating 255
as a return code from the module execution, rather from the connection
attempt. This change allows 255 to be treated as a connection failure
when using the raw module.
Allow you to pass in arbitrary rsync options. I also added help for it, and what version it was added in.
Fix the default url of get_xml function.

* This enable a user to configure uri in get_xml function
Example for queueing build in Jenkins
Update uri
ssh: Properly check for wrong su password
ssh: propagate prompt to _communicate()

_communicate() uses the prompt variable to detect wrong passwords early,
therefore it needs to be passed to it from exec_command().
ssh connection plugin: Make comments more verbose

Explain _communicate() more.
Output URL for debugging
Remove extra quote from the mysqldump password argument

The mysqldb Ansible module will fail if the state specified is import or dump with a '1045: Access Denied' mysql error for complex passwords.

This is caused by the extra quote around the '--password' argument to mysqldump, as pipes.quotes already quotes the password string.

>>> "--password='%s'" % pipes.quote('simple')
"--password='simple'"

>>> "--password='%s'" % pipes.quote('c0mplexp@ssword!')
"--password=''c0mplexp@ssword!''"

>>> "--password='%s'" % pipes.quote('password with space')
"--password=''password with space''"
Clarify the port value always defaults to 3306

While the [boto docs](https://github.com/boto/boto/blob/develop/boto/rds/__init__.py#L253) make it seem like the default value of `port` is changed depending on the engine chosen, AFAICT from looking at the code the default value is never changed from 3306.

I think the docs are intended to be read as "the default value used by <engine> is <port> so you should change `port` to that value".

If you don't specify the port value and chose the database engine as PostgreSQL you'll end up with a PostgreSQL instance running on port 3306.
debconf detail requirements and fix typos
debconf correctly quote strings
Fixing some parsing issues in authorized_key module

Also adds an integration test for authorized_key for future validation.

Fixes #6700
Merge pull request #6826 from bob-smith/debconf-parsing

debconf correctly quote strings