Fix parsing of complex morphs to tsquery
  When to_tsquery() or websearch_to_tsquery() meet a complex morph containing
 multiple words residing adjacent position, these words are connected
 with OP_AND operator.  That leads to surprising results.  For instace,
 both websearch_to_tsquery('"pg_class pg"') and to_tsquery('pg_class <-> pg')
 produce '( pg & class ) <-> pg' tsquery.  This tsquery requires
 'pg' and 'class' words to reside on the same position and doesn't match
 to to_tsvector('pg_class pg').  It appears to be ridiculous behavior, which
 needs to be fixed. 
 This commit makes to_tsquery() or websearch_to_tsquery() connect words
 residing adjacent position with OP_PHRASE.  Therefore, now those words are
 normally chained with other OP_PHRASE operator.  The examples of above now
 produces 'pg <-> class <-> pg' tsquery, which matches to
 to_tsvector('pg_class pg'). 
 Another effect of this commit is that complex morph word positions now need to
 match the tsvector even if there is no surrounding OP_PHRASE.  This behavior
 change generally looks like an improvement but making this commit not
 backpatchable.  
Reported-by: Barry Pederson Bug: #16592
 Discussion: https://postgr.es/m/16592-
70b110ff9731c07d@postgresql.org
 Discussion: https://postgr.es/m/CAPpHfdv0EzVhf6CWfB1_TTZqXV_2Sn-jSY3zSd7ePH%3D-%2B1V2DQ%40mail.gmail.com
 Author: Alexander Korotkov 
Reviewed-by: Tom Lane, Neil Chen