ClusterHeartbeatSenderStateSpec implemented and passes

Also added the ClusterSpecBase class mentioned in the comments for #369