Added ability to measure clock offset from cluster

RPC servers and clients now both update a global map of measured remote offsets,
though servers get this measurement from their attached clients. Servers
are given this ability in case they don't have their own client to the
remote node.

The server now passes a Context object to the rpc frameworks rather
than passing required fields individually.

The server does not yet actively measure cluster offset nor does anything
with any offset measurings.