Add a new integration for Slack.

Review Request #8372 — Created Aug. 31, 2016 and submitted — Latest diff uploaded




This adds a new Review Board 3.0-compatible integration for Slack. This
is built upon the original rbslack extension, but enhances the message
sent to Slack to include additional information, such as the first file
attachment on a review request (or newest one on an update), the
description on a review request, change description on updates,
body_top/first comment text on reviews/replies, trophies, and more.

This new integration takes advantage of the new conditions support in
Review Board 3.0 to allow admins to create multiple custom Slack
configurations, meaning that one server can post to different Slack
channels or even Slack teams, depending on whatever criteria they

Unit tests were added that cover all the ways we might send a message,
ensuring we won't unexpectedly break as things evolve.

Unit tests pass.

Tested every type of message manually.