Set up template_success and template_failure for notifications based on build result

Allows users to specify `template_success` and `template_failure` in certain notification providers (IRC, HipChat, Campfire, Slack, Sqwiggle), which will be used based on the build result. These recognize only `passed` and `failed` results, and not `errored` and `canceled`. We can probably wrap these into the `template_failure` category. (I feel that `template_errored` and `template_canceled` are overkill.)

This addresses travis-ci/travis-ci#486, travis-ci/travis-ci#1332 and travis-ci/travis-ci#2032.