some optimisations
refactored code and added created event
added test to make sure generate event is emitted
changes based on feedback on 6/11
added certificate web page and tests
fixed quality violations
If certificates cannot be added to the queue,
mark the certificate status as 'error' so that
it can be re-run by management commands.
Clean up logging and return values.
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.