Propagate database events
Summary:
Obsidian offered the current refined code used in Keruald\Databases,
with an unported feature, connection and SQL error events.
This change migrates Obsidian Events static class in Keruald\OmniTools.
When that library is present, DatabaseEngine classes will fire events.
PSR-14: Event Dispatcher isn't currently implemented,
as we don't see any use case to justify a dependency
against Psr\EventDispatcher interfaces.
Fixes T1709.
Fixes Espace Win Bugzilla #21.
Test Plan: As part of T2145, switch to Keruald implementation in Obsdian Workspaces.
Reviewers: dereckson
Reviewed By: dereckson
Maniphest Tasks: T1709
Differential Revision: https://devcentral.nasqueron.org/D3772