Ispn 4599

Contains fixes for:
 - https://issues.jboss.org/browse/ISPN-2727
 - https://issues.jboss.org/browse/ISPN-4048
 - https://issues.jboss.org/browse/ISPN-4165
 - https://issues.jboss.org/browse/ISPN-4186
 - https://issues.jboss.org/browse/ISPN-4599

(Ultimately all caused by ISPN-4599)
> Insufficient synchronization. Maybe should return a copy of the internal list.

Nice catch! I'm using this with a single driver to coordinate the cluster, so not a problem in this case but who knows if we end up reusing it.