Open and lock each index before checking definition in RMVC.

Per suggestion from Andres Freund.  The ExclusiveLock on the
related table is not viewed as sufficient to ensure that no
changes are made to the index definition, and with this
invalidation messages from other backends might be missed.

Additionally, use RelationGetIndexExpressions() and check
for NIL rather than doing our own loop.