Periodic timelapse

Timelapse pictures are taken periodicially, i.e. starting the image capture
attempts at fixed time intervals, as opposed to a fixed delay after the
end of the previous image.  As a result, the mean time between images
is closer to the requested time interval, and the effect of individual
slow images (due to e.g. exposure adjustments or delays in file writing.)
does not propagate to subsequent images.

If something causes a delay so that the image would be more than half
a timelapse period late, images are skipped (also skipping
the frame numbers in the filenames) to keep in sync.

As a result, a timelapse sequence with -tl 60000 looking at
a clock would show the second hand in ~the same place in all images
as opposed to the previous code, which would show the second hand
advancing by the cumulative time taken by all the image captures.

Also, a --timeout 0 will cause an unlimited number of images to
be taken.

This pull request replaces #74, using a fresh fork of the userland master tree.