Adds support for a zero-based fixed-position parser

If any colon is present in the time string, it uses the existing
colon-based parser.  Otherwise, it uses a zero-based, fixed-position
parser.  The zero-based version is useful for users who would like to
use the keypad, possibly for batch-style input.

All time strings end up in a format that contains a colon so the
colon-based parser is always used for presentation to the user.