Restructuring date related functions a bit.

Add a function which subtracts two Time::Piece dates, have a function
which calculates the difference with respect to today and a function
which calculates based on a todo's due date.
Rename modifyTag to setTag.
Add convenience functions for setting the due and start date.
Add support for recurring tasks.

A recurring task is a task that returns after a certain time period
after the completion date. This is different from repeating, where you
can say that a task repeats every Monday.

Use the rec tag to indicate recurrence on your task. The value is a
numerical value suffixed either by d, w, m or y (days, weeks, months,
years respectively).

The do command completes the current task and inserts a new one with a
new due date (and if applicable, a new start date).

Example:

(B) Water flowers rec:1w due:2013-08-12