Fix decoder_raw output for BEGIN/COMMIT when include-transaction=off

pg_recvlogical was failing with the following error, caused by the plugin
writing data using an uninitialized StringInfo buffer:
streaming header too small: 25

decoder_raw was correctly generating empty rows when looking at changes of
a replication slot using the psql interface (this was fundamentaly wrong
by the way because we did not want anything to be generated), but
pg_recvlogical was not that happy.

Hence, BEGIN and COMMIT callbacks are changed to not write any changes to
the plugin if include-transaction=off by not calling OutputPluginPrepareWrite
and OutputPluginWrite. At the same time, fix a potential bug where plugin
would try to write a change in the old context switch.

Report and patch by Thomas Weiss, with further editing from me.