Rename Reports methods.

Rename all #report methods to #report_to and all #report_* methods to #report_*_to in order to better relate their intent.
Update TODOs in notes.txt.
Add Report class.
Refactor JobListReport.

Make JobListReport a child of Report. Use Report::report_on instead of defining JobListReport#report_jobs manually in order to better describe the intent.
Add Reports::when_reporting.
JobListReport uses Reports::when_reporting.

Refactor JobListReport to use Reports::when_reporting to better fit the domain model, as opposed to following an implicit interface.
Rename Reports::report_on to ::reports_on.

Rename Reports::report_on to ::reports_on, as the method ultimately enables a binary state.