send connection.{blocked,unblocked}
merge default into bug25191
and some tiny refactoring
Merge default
Don't wipe the slate clean each time we get a conserve_resources message.
We can end up hearing about a reason we have already heard about, because rabbit_alarm *both* returns them from register() and immediately calls the MFA during register(). Tests now pass.
fix types
(transplanted from eec14a745dd738a98cfb83e86a2b077d4280e314)
merge default into bug25191
Merge default into bug25191
Don't crash when an alarm is cleared when there's nothing to clear
Make sure set_alarm is idempotent

By making sure alarms list is unique.
Make sure the list of alarm resources is unique
Don't log duplicate alarm warnings
Correctly determine duplicate alarms when alarm is cleared

Also, don't bother doing anything on duplicate alarms, per
review feedback.
Use lists:keymember here
Ignore *.orig files
Deliver all alart notification to handle overlapping alarms

connection.blocked requires us to track resources we are
conserving. This means the old logic of determining
edge state transitions for alarms does not work any more.

Instead of using the old strategy of comparing alarmed
node collection sizes, instead of pass around what event
the notification is for and simply deliver it to the
relevant nodes.

This requires that rabbit_alarm event consumers
handle duplicate notifications. They already do so
after earlier changes on branch bug25191.

This makes connection unblocking work correctly
in the following sequence of events:

 * memory alarm set for node A
 * disk alarm set for node A
 * memory alarm cleared for node A
 * disk alarm cleared for node A

as well as other similar scenarios with overlapping
alarms.

This slighly increases internode and intranode message
traffic of alarm notifications. Since alarms occur rarely
in well-monitored systems, this is a reasonable
trade-off.
Most of policy apply-to.
Delegate monitoring, with a fairly glaring hole.
A bit more faff, to deal with genuinely dying nodes.
Do the monitoring on the correct node(!) and remove all that nonsense about node-wide monitoring.