Add a full project report mode

This makes it simpler to work with projects that having moving start and
end dates.
Abstract away the logic of the main routine

This cleans up the logic of the main routine into a class and various
methods and functions in preparation for adding support for properly
namespacing aggregate twiki reports.
Fix user creation for full project reports

We were not adding the tasks with set_task, so create an add_task that
makes it easier to add one task at a time. set_task was handling
creation of users before.
Namespace detailed reports under aggregate reports

Keep track of a parent aggregate report and have the TWiki uploader
consume that information so that reports from the same week for
different projects don't stomp each other.
Don't combine date.year and weeknumber

We need to be consistent when using isocalendar, because the week number
may have a different year than the date year. For instance the first
week of the year may start in the previous year.