Refactor MatchService::create and MatchService::update
 - New, more granular event triggers
 - Common code extract into processRequest()
Extract custom actions from MatchService into their own event listeners
Update the event names for the EntityAuditLog comment setter
Add variant, startDate and endDate to Competition entity
Closes #46, #47
Add convenience methods to Competition\Match
Add convenience methods to ScoreEvent
Initial implementation of standings calculation and display
See #43
Add more detail to the list of matches in the Competition Admin Panel