Host header should be compared case-insensitive

Currently if the host header you put for a tenant has an upper case, it will never be resolvable by a browser because browsers lower-case.

We should validate that all host headers are lower-case when they are provided, and do case-insensitive checks against host headers that are provided by the client when identifying the tenant.