Fix race condition tests.

- on affected tests: add an extra pair of rules to workaround a deadlock scenario caused by the race condition tests themselves
[MSC-122] Fixing stability detection

 * do not decrement unstable services when adding problem or failed controller
 * always ensure unstableServices >= 0 invariant
 * introducing service controller 'stable' flag - to properly notify stability observers
 * refactoring getStabilityState() method
[MSC-122] various fixes
 * use asserts instead of exception throwing
 * fix real regression cause and remove useless 'stable' flag
monitors are always inheritable
[MSC-122] another unstableServices >= 0 invariant fixes
 * update unstableServices counter only if monitor is really added or removed from observers list
 * refactoring StabilityMonitor.remove() -> StabilityMonitor.removeController(Controller)
introducing two additional awaitStability methods + reordering StabilityMonitor methods to be paired properly
introducing StabilityStatistics
fixing StabilityMonitor deadlocks
enrich test case to use StabilityStatistics
providing StabilityMonitor & StabilityStatistics javadoc
Prep 1.1.0.Beta3
Next is 1.1.0.Beta4
fixing MSC version detection
[MSC-123] enabling shouldStart() & shouldStop() assertions

Test cannot call shouldStop() via byteman script because this method requires a lock to be held.
Fixing byteman script to use method param instead of lock protected shouldStop() method to identify
if the expected method call stack is beeing executed.
[MSC-125] Include cyclic information in CircularDependencyException message
[MSC-126] provided test to reproduce the NPE issue
[MSC-126] fixing issue - it is possible that dependent can be null on MSC shutdown
minor fixes - no functional change
[MSC-85] added MBean operations to display services in a particular state - applied Jaikiran's patch
Increase default timeout of service future to reduce spurious test failure