An `eligible_for_certificate` field is added to the
GeneratedCertificate model. This way we can retain existing grading
logic, as well as maintaining correctness in analytics and reporting.
Ineligible certificates are hidden by using the
`eligible_certificates` manager on GeneratedCertificate. Some places
in the coe (largely reporting, analytics, and management commands) use
the default `objects` manager, since they need access to all
certificates.
This commit also updates the DB cache for acceptance tests.
Add the ability to generate "example" certificates to
test that certificate generation is working correctly for a course.
Add the ability to enable/disable self-generated certificates
on a per-course basis.