New Assignment class and code cleanup

A new Assignment class now encapsulates all data for each assignment:
due date, header (class and assignment type), and content (text of the
assignment). This should allow for easier sorting of assignments by
various criteria.

The README has also been slightly updated.