EZP-22279: Refactored storage engine factories to use Doctrine connections

Added notion of "repository" in the configuration.
Repositories are declared globally and used/specified at the SiteAccess level (or group).

A repository consists of an "engine" (to specify which storage engine to use), and config options for that engine.
In the case of "legacy", aka LegacyStorageEngine, a Doctrine "connection" is specified, which is configured in DoctrineBundle.