Add onlinePeers method to AddrBook

Signed-off-by: Scott Wilson <i@scottwilson.ca>
Add BeaconClocks class

Experimental TempoClock subclass using a pseudo-Reference Broadcast Synchronisation approach
Currently this requires Jakob's patch to make TempoClock:beats_ work.
In this implementation it sets clocks tempo and beats to the mean of the beacon responses, but this could be extended (perhaps in subclasses) to do things like skew tempo in the manner of ListeningClocks.

Signed-off-by: Scott Wilson <i@scottwilson.ca>
BeaconClock accounts for the time that has passed between the being was received and the comparison completing

Signed-off-by: Scott Wilson <i@scottwilson.ca>
BeaconClock takes maxItem for beats instead of mean

Not sure about this, but it should mean that time never flows backwards

Signed-off-by: Scott Wilson <i@scottwilson.ca>