This patch adds support for a 'startdate' option in the config file as
an alternative to 'maxage'. The reason for the new option is that
'maxage' means the oldest synchronized message is continually moving
forward in time, but using startdate will fix it to a particular date.

This patch also reworks the date range calculations in the modified code
to use the datetime module which already has mechanisms for calculating
differences in time. The new code is shorter and easier to read.

Signed-off-by: Grant Likely <grant.likely <at> secretlab.ca>