The selected move command does not need to send remaining time

Relying on the engine to track its elapsed time is error prone. It
is better for the UI to calculate and synchronize clock data. The
way to do so must be defined in the implementation which lies
outside the specification.

Here is a sample design that relies on the send command being
used to provide the analysis start and stop times.

     a0    a1                    b0    b1
-----|-----|---------------------|-----|------------------->

a0 - when the UI issues the start analysis command
a1 - when the engine begins analysis in response to a0
b0 - when the engine sends its selected move to the UI
b1 - when the UI receives the selected move from b0

How the UI adjusts its view
1) UI shows clock for the engine decrementing from a1. The UI will
know this timestamp because it receives a success/failure response
from the engine.
2) The send command also maintains a timestamp indicating when it
was executed. This value cannot be modified. The UI can therefore
read the timestamp b0 from the send command it receives from the
engine.
3) The UI adjusts the time remaining on the engine's clock by
subtracting the difference b0 - a1.
4) UI proceeds with the next player's turn.