Abstract interface to tenants

We would like to store tenants outside of the Django database (on the filesystem with local settings, templates and static files located together, the database will only contain tenants datas) to ease the job of the admin team, so we built an abstraction around the default TenantModel called a TenantAdapter. This pull also provide a default tenant adapter implementation which use the default tenant model returned by get_tenant_model() and allow everything to work as before.

This pull request lacks documentation for now but I'm mainly interested by feedback to know if there is a chance to merge that upstream.