Fixed tests of async behaviours

Replaced Spock#PollingCondition with Mockito wherever mock verification
was needed. See
http://stackoverflow.com/questions/21666874/verify-spock-mock-with-speci
fied-timeout for details.
Added missing timeout-based assertions wherever async interaction was
in place.
Added implementation of heartbeat logic for Leader

Previous implementation was incorrectly using cache removal listeners
from Guava. New implementation uses AlarmClock to handle heartbeat
timeouts.