Merge pull request #15 from seatgeek/master

Remove distribute as a requirement
Fix all pyflakes warnings for graphitepager package
Merge pull request #20 from philipcristiano/pyflakes

Fix all pyflakes warnings for graphitepager package
Document redis requirement and add fallback for REDISTOGO_URL env var

Closes #19
Move global function into RedisStorage scope

The function is unused elsewhere in the codebase. This commit is to cleanup a function that is ostensibly a private function call and remove it from the global scope where it is unused.
Merge pull request #21 from philipcristiano/function-scope

Move global function into RedisStorage scope
Allow overriding the pagerduty service_key for a given alert

This commit also adds the alert_data to each alert object, as well as an accessor method for said data
Merge pull request #22 from philipcristiano/custom-service-key

Allow overriding the pagerduty service_key for a given alert
Reorganize notifiers

This commit moves around the notifiers into a subpackage - graphitepager.notifiers - and simplifies the notifier attachment code. All notifiers now initialize themselves with their own client and also have an `enabled` flag that can be used to tell whether or not a notifier should be in use.

This commit makes all notifiers optional - though you really should use at least one notifier!
Merge pull request #23 from philipcristiano/reorganize-notifiers

Reorganize notifiers
Update setup.py
Allow the specification of environment variables in yaml. Closes #17
Simplify config.get() logic
Reimplement config key checking to use 'in' operator internally
Merge pull request #25 from philipcristiano/17-config-from-yaml

Allow the specification of environment variables in yaml. Closes #17
Remove unnecessary argument
Use self.data() to retrieve yaml configuration data
Remove missing notifiers
Allow overriding service_key on a per-alert type basis