Added channel-and-level activation strategy

Added the `ChannelLevelActivationStrategy`, which enables more fine-grained activation of the `fingers_crossed` handler. 

For example, one could trigger activation for the 'sql' channel on a lower threshold than for the rest of the system. Or, if a library logs uninteresting events with an `ERROR` level into its own channel, you could raise the threshold for that channel to `CRITICAL` so that the library doesn't pollute your logs with its uninteresting entries.

The `ChannelLevelActivationStrategy` takes 2 parameters:
* the default action level
* an array that maps channel name to action level

On each incoming log record:
* If the record's channel **has been specified in the mapping**, the level is compared against the **mapped value** in order to determine if activation should be triggered
* If the record's channel **has not been specified in the mapping**, the level is compared against the specified **default action level** to determine if activation should be triggered