Enhance multi-session TC clock handling
Some new TC types are introduced: Bronstein and free sessions. The
former is implemented by letting an exclamation point '!' in front of an
increment (in the -tc string) indicate that the increment is limited to
the time actually used on the previous move. The latter is an interval
of given duraton in which you can do any number of moves (even zero),
before the next session starts. This is needed for implementing Shogi
byoyomi-type TC, as a first session, followed by a session of fixed-time
per move. The latter can now be specified with the -tc argument as a
degenerate case of Bronstein, where the time on the clock is <= the
increment (so that it is never possible to think longer than the
increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
300:10+!10.
The sessions are now separated by ':' in stead of '+', and all times in
the TC string are converted to seconds first (in ParseTimeControl), so
the fullTCstring can now be directly used in a PGN tag.
Note that this patch only addresses clock handling; the engine will not
be informed yet if the TC type or parameters change at the start of new
session!