Implemented periodic tasks.

Starting from the last-run date to today, for each date, all periodic tasks are evaluated.
If allowed, duplicate of the periodic tasks (without the periodic tags) are added to that day's tasks.

The TaskList.parse/serialize no longer pretend to be static methods.
Refactored the Task class to use only a single 'raw' data variable.