Refactor tools into new more semantic tool classes
Document and update hook add usecase to use new tools
Improve hook add documentation
Polish hook delete usecase and modify to use new tools
Polish project add usecase to use new tools
Remove superfluous comments in hook add usecase
Minor documentation updates
Polish project delete usecase to use new tools
Polish project edit usecase to use new tools
Bugfix on repository usage in project delete usecase
Make project add usecase track last updated time
Minor bugfix in project edit DI
Polish project prepare usecase to use new tools
Minor fixes from previous polish
Add set_body spec to emailer tool interface
Add formatter tool
Polish project track usecase to use new tools and usecase DI
Project track usecase takes into account if fan already has project author as idol
Add user untrack usecase
Add project untrack usecase