Add new Slack callback plugin

This PR addresses 2 things:

1. Adds a new callback plugin called slack.py for slack.com
2. Updates the hipchat.py callback plugin to move some work around code into it's more proper method

There is another slack callback plugin proposed in #8829, but unfortunately when I was attempting to use it earlier it was missing some "niceties" that the hipchat.py plugin offered such as color coded messages indicating success or failure, and some additional benefits that the slack API provides.  Additionally, by using some of the enhanced slack APIs the number of messages sent have been reduced by utilizing message "attachments".

This work is based off of the original hipchat.py and the slack.py callback that we are using internally.

It also replaces the slack incoming webhook bot icon with a cool Ansible icon!