Revert "allow mark/restore in functionscan"

This reverts commit 20543f585a1902bd0730e484199336d59eb4ec0f.

The logic for reverting this is as follows:

1. mark/restore is only used at present for mergejoins.
2. mark/restore on functionscan would be used only for
   mergejoins on the ordinality column, which in tests are
   slower, even with this optimization, than multiple
   function scans.
3. The planner will frequently insert a Materialize node
   even when mark/restore is supported, thus defeating any
   performance advantage from doing it here.
4. The overhead of the inserted Materialize node is not all
   that significant.

Accordingly it seems better to keep the code simple.

Conflicts:

	src/backend/executor/nodeFunctionscan.c
remove some stray comments left by previous revert
style issue: use a list of String value nodes, not char*
Merge branch 'table_functions' into table_functions_record