Changed time of day output to TOD instead of time

This avoids conflicts with time field of distance workouts,
so that there will not be two "time: "'s in any output.
Added option to enter - for strings, indicating empty field
wrote generic stdin parsing loop
Changed existing functions to read and process stdin to work on stdinLoop

This resulted in much cleaner code and more following of DRY
Bans strings with non-printable chars in getString