Fix bug where exposures over 31s never end.

The exposure was stored in an int then multiplied by 1000 to be compared
to the elapsed millis.  The Arduiono int max value is only 32767 so any
exposure over 31s was overflowing the int and resulting in a -ve value
causing the end check to fail.

This fix was to divide the millis by 1000 instead and compare using
seconds where 32k is plenty.
Add reporting of progress to the host machine.

If not idle the arduino will report the progress and state of the run.

Format:
{mode}:exposure:totalExposures:elapsed time.

Mode will be one of:
   EXP: exposure
   GAP: gap between exposures
   MUP: Mirror up