Avoid deadlock between concurrent CREATE INDEX CONCURRENTLY commands.
Avoid deadlock between concurrent CREATE INDEX CONCURRENTLY commands.

There was a high probability of two or more concurrent C.I.C. commands
deadlocking just before completion, because each would wait for the others
to release their reference snapshots.  Fix by releasing the snapshot
before waiting for other snapshots to go away.

Per report from Paul Hinze.  Back-patch to all active branches.

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