Add name to TM::Project

Add name parameter to TM::Project .initialize method that stores in @name.
Add unique id to TM::Project
Refactor initialize to use .generate_id instead, refactor tests
Add attributes to TM::Task
Add mark_complete and complete? methods to TM::Task