Handle optional courses like '?ENG 101'.

Add Course.optional boolean field.
Do not show non-taken optional courses in report page.
Change script namespace to a real one.
Minor fix in report title.