1) This is possible
2) This is possible too, but how will you know what config to load before session verification?
3) Each core would need to connect to a db. You can connect them all to the same db, and rename the table per core (via the config) to be per tenant.