Implement RecurringTask framework
Implement Tasks() for recurring tasks

This now works, but there is no way to add recurring tasks via TaskToGo
yet, and editing the JSON is, to put it lightly, painful.
Attempt to fix the numerous RecurringTask bugs
Rewrite RecurringTask logic for generating tasks
Add helper function for recurring tasks

DueByID allows for easy generation of due dates for a task via a given
ID.
Implement multiple-part recurring task delays
Implement recurring task "Done" logic
No longer generate recurring tasks after end date

This was due to a lack of logic in the RecurringTaskGenerator.FindLastID
method, which did not consider the End time in calculating the final
task ID.
Totally remove fully-completed recurring tasks

This means that if a recurring task generator has a supplied end date,
and every task that will ever be generated by it is complete, it will be
removed from the task list.
Implement command for adding recurring tasks
Document recurring tasks in the manpage
Merge branch 'f.recurring'
Version 0.4.0