Expose the playbook to callback plugins

This is a second attempt at adding this functionality through different means...

Having just implemented a callback plugin to send notifications when ansible is being run, I found that not having the playbook filename available to playbook_on_start was potentially confusing, as you wouldn't really know what playbook was being run.

This pull request, adds a `set_playbook()` function to ansible/callbacks.py to match that of `set_play()` and `set_task()`.  It will set a `playbook` attribute in each callback plugin, with a value of the `Playbook` instance.

`ansible.callbacks.set_playbook` is called from the `__init__` method of the `Playbook` class.