Consider search_path when resolving type names to OIDs

In case when types with the same name existed in several schemas,
TypeInfoCache did not consider the current search_path and was choosing
an OID of a type not deterministically. These change will make
the type from the current schema to be chosen. Also this change remains
backwards compatible with the previous implementation, still being anble
to find a type, that is not included into the current search_path.

Provided test fails now, as it does not TypeInfoCache
directly. So more work is to be done to make this test work.