Add a punch-out function to WorkingSet
Allow finishing of "tasks" in projects

This allows you to create a WorkBlock without actually punching out of
the project. This is for documentary purposes.
Add concept of "tasks" to the WorkingSet
WorkingSet: total hours now includes running time

The running time of the current project will now be included in the
total time of the working set.
Fix the punch_out() with save_work_block()

The save_work_block() method now returns a block so that the delta can
be taken from it.
Add current date to WorkBlock