Revert b2db7048b839 (which in turn mostly reverted dd08c9204760), i.e. return to the broken bug25644 implementation.
Store monitors correctly, with a two level dictionary, mapping MonitoredPid -> MonitoringPid -> Ref and MonitoredPid -> Ref -> MonitoringPid.
Explain what this is.
Simpler to maintain MonitoredPid -> {Ref, MonitoringPidSet}.
ahem
we only support process monitoring, so enforce that in the API
we don't really support demonitor/2, so rip it out
due to the aggregration of all monitors of a single pid into a single
monitor, the semantics of demonitor/2 is decidely dodgy
cosmetics, better var names, and optimise 'DOWN' sending
Use gb_sets rather than sets for performance.
refactor: make proper use of gb_sets API
merge bug25714 into default