Fix two bugs in tsquery @> operator.
Fix two bugs in tsquery @> operator.

1. The comparison for matching terms used only the CRC to decide if there's
a match. Two different terms with the same CRC gave a match.

2. It assumed that if the second operand has more terms than the first, it's
never a match. That assumption is bogus, because there can be duplicate
terms in either operand.

Rewrite the implementation in a way that doesn't have those bugs.

Backpatch to all supported versions.

xinzweb/gpdb,Postgres-XL/Postgres-XL,xinzweb/gpdb,jmcatamney/gpdb,zeroae/postgres-xl,ashwinstar/gpdb,ovr/postgres-xl,50wu/gpdb,zeroae/postgres-xl,ovr/postgres-xl,jmcatamney/gpdb,ashwinstar/gpdb,lisakowen/gpdb,ashwinstar/gpdb,oberstet/postgres-xl,50wu/gpdb,yazun/postgres-xl,ashwinstar/gpdb,pavanvd/postgres-xl,yazun/postgres-xl,ovr/postgres-xl,xinzweb/gpdb,pavanvd/postgres-xl,pavanvd/postgres-xl,greenplum-db/gpdb,xinzweb/gpdb,xinzweb/gpdb,50wu/gpdb,Postgres-XL/Postgres-XL,lisakowen/gpdb,techdragon/Postgres-XL,zeroae/postgres-xl,zeroae/postgres-xl,Postgres-XL/Postgres-XL,ashwinstar/gpdb,oberstet/postgres-xl,oberstet/postgres-xl,jmcatamney/gpdb,adam8157/gpdb,ovr/postgres-xl,oberstet/postgres-xl,greenplum-db/gpdb,yazun/postgres-xl,greenplum-db/gpdb,adam8157/gpdb,adam8157/gpdb,lisakowen/gpdb,adam8157/gpdb,techdragon/Postgres-XL,pavanvd/postgres-xl,yazun/postgres-xl,greenplum-db/gpdb,Postgres-XL/Postgres-XL,Postgres-XL/Postgres-XL,greenplum-db/gpdb,greenplum-db/gpdb,greenplum-db/gpdb,adam8157/gpdb,jmcatamney/gpdb,lisakowen/gpdb,adam8157/gpdb,techdragon/Postgres-XL,ashwinstar/gpdb,50wu/gpdb,xinzweb/gpdb,lisakowen/gpdb,pavanvd/postgres-xl,jmcatamney/gpdb,zeroae/postgres-xl,lisakowen/gpdb,lisakowen/gpdb,50wu/gpdb,techdragon/Postgres-XL,oberstet/postgres-xl,adam8157/gpdb,ashwinstar/gpdb,xinzweb/gpdb,techdragon/Postgres-XL,yazun/postgres-xl,ashwinstar/gpdb,50wu/gpdb,xinzweb/gpdb,jmcatamney/gpdb,adam8157/gpdb,greenplum-db/gpdb,lisakowen/gpdb,jmcatamney/gpdb,50wu/gpdb,ovr/postgres-xl,jmcatamney/gpdb,50wu/gpdb