Support for PostgreSQL citext data type.

citext makes it possible to use AR Hash finders for case-insensitive
matching as sql UPPER/LOWER functions are not needed.

This is a squash'd version of the pull request #9182