Add DDD notes.

Add notes regarding suggestions of how to better implement domain-driven design.
Add TODO items and notes.
Use Reportable pattern in spec.

Update HTMLJobseekerReport spec to use Jobseeker#as_reportable.
Add Name#as_reportable.

Add Name#as_reportable, which returns a String.
Add Jobseeker#as_reportable.

Add Jobseeker#as_reportable, which returns a Hash.
HTMLJobseekerReport uses #as_reportable.

Refactor HTMLJobseekerReport and HTMLJobseekerListReport to use Jobseeker#as_reportable.
Use Struct for #as_reportable.

Refactor Jobseeker#as_reportable to use a Struct so that it returns an object with a cleaner interface.

Update HTMLJobseekerReport to expect an object with a #name method in its initializer.
Test for reportables from jobs.

Update HTMLPostedJobReport specs to expect a reportable from Job.
Add multiple #as_reportable methods.

Add Title#as_reportable, Employer#as_reportable, UnpostedJob#as_reportable, and PostedJob#as_reportable.
HTMLPostedJobReport uses #as_reportable.

Refactor HTMLPostedJobReport to expect and use a reportable instead of a Job.
Remove unused dependency.

HTMLJobseekerReport no longer inherits from JobseekerReport.
Remove extraneous print statement.
Extract initializer to ReportableJobReport.

Refactor HTMLPostedJobReport to inherit from the new ReportableJobReport (temporary name), which holds an initializer that will be shared with TextPostedJobReport and other reports.
Test for *Job#as_reportable.

Update TextUnpostedJobReport and TextPostedJobReport specs to use UnpostedJob#as_reportable and PostedJob#as_reportable.
Consolidate as TextJobReport.

Replace TextUnpostedJobReport and TextPostedJobReport with just TextJobReport, which can handle both kinds of jobs.
Rename to just HTMLJobReport.

Rename HTMLPostedJobReport to just HTMLJobReport, as it can already handle both job types.
Remove unused report classes.

Remove unused UnpostedJobReport and PostedJobReport classes.
Rename ReportableJobReport to JobReport.

Rename ReportableJobReport to just JobReport, as the "Reportable" part was just a refactoring placeholder.
Test TextJobseekerApplicationsReport instead.

Move JobseekerApplicationsReport specs to spec/text_report_spec.rb and rename the tested classes to TextJobseekerApplicationsReport and TextJobseekerApplicationsReport, in anticipation of refactoring to use reportables.
Make report more extendable.

Add optional parameter to JobseekerApplicationsReportGenerator#initialize, specifying the report class to use for each item in the list. This anticipates refactoring for reportable support.