ECPG: Really drive every cursor through the readahead code,
not just via the grammar.

Fix fallouts for SQL and SQLDA descriptors:
- the first call to ecpg_process_output() shouldn't pass
  append_result == true for the first round for FETCH FORWARD
  or FETCH BACKWARD
- SQL descriptors really contains persistent data, so use
  PQcopyResult() to decouple it from the cursor readahead cache
ECPG: Free the malloc()'ed variables in the test so it comes out
clean on Valgrind runs.
ECPG: Add EXEC SQL CLOSE C to the test so it comes out clean
on Valgrind runs.
ECPG: Fix memory leaks in cursor.c so most of the regression tests
come out clean on Valgrind runs.
ECPG: Add EXEC SQL CLOSE C to the test so it comes out clean on
Valgrind runs.