swarm: clarify meaning of time related fields
swarm: clarify meaning of time related fields

Several fields in the `RaftConfig` and `DispatcherConfig` structures
lack clarification about their meaning in relation to time. While all
these fields describe a time-period, they have subtle yet important
differences in their meanings.

`HeartbeatPeriod` is an open time period, meaning the amount of time
between heartbeats for nodes communicating with the dispatcher. This
field has always been specified in nanoseconds and has been converted
directly to a `time.Duration` field. This will have impact except for a
slightly different type. The values used via the API will be identical,
so there is no impact.

`HeartbeatTick` and `ElectionTick` specify the period in units of ticks,
which are configured as one second in the manager. The role of these
fields is clarified and their relation with time is described
accordingly.

Signed-off-by: Stephen J Day <63efd86fa22882ae89b6027b22a36e4db1f4214d@docker.com>

docker/engine-api,vdemeester/engine-api,jwhonce/engine-api