Ensures that incompatible roles are removed from cluster info on availability events

Given that when an instance fails it does not broadcast unavailability events, it may
 happen that an instance failing and rejoining can keep the backup role. Also, an
 instance failing should have its roles removed, as they are no longer relevant. This
 commit does so by checking in ClusterMember for incompatible roles and removing them.
 Additionally, it removes all roles from an instance when a failure event is received
 for it.
Adds tests for these conditions on the ClusterMembers level.
Merge pull request #2850 from thobe/1.9-stringent-role-reporting

Ensures that incompatible roles are removed from cluster info on availability events
Restore the ability to have "mandatory" as a config default value.
Update default configuration files
Inline deadlockGuardedWait and change the WaitElement add to only happen once, as it could lead to leftover waits that never got notified, leading to a dead database.
Merge pull request #2864 from rickardoberg/communitylockleak19

Community LockManager lock leak fix
Document the appropriate way to disable UDC.
Merge pull request #2863 from cleishm/1.9-default-config

Update default configuration files
Makes it possible to disable UDC through System property.

This change also makes UDC not fail if an invalid configuration
value is given, instead it interperts it as the default value.
Merge pull request #2872 from thobe/1.9-udc-configuration

1.9 UDC configuration
A tool for dumping the content of a store.

Very useful when debugging.
Fixed race during HA slaves creation
Merge pull request #2877 from thobe/1.9-dump-store

[1.9] A tool for dumping the content of a store
Merge pull request #2899 from lutovich/1.9-too-many-slave-client-threads

Fixed race during HA slaves creation
Fixed wrong consistency check error for deleted property
Merge pull request #2906 from lutovich/1.9-consistency-checker-too-picky

Fixed wrong consistency check error for deleted property
AutoConfigurator more resilient to unknown physmem

1. Makes figuring out the physicalMemory in the AutoConfigurator more
   resilient to ClassLoader restrictions that would prevent loading the
   interface that has the getTotalPhysicalMemorySize method.
2. Makes AutoConfigurator handle being unable to detect the physical
   memory behave in a better way, by still trusting the heap size and
   not treating it as if the heap has been configured too large.
Merge pull request #2910 from thobe/1.9-auto-config-physmem

[1.9] Make AutoConfigurator more resilient to unknown physical memory size
Reenable test and possibly make it less flaky.
Merge pull request #2923 from davidegrohmann/1.9-reenable-test

Reenable test and possibly make it less flaky