protocol: Don't segfault if appliance crashes during FileIn upload (RHBZ#914931).

Instead of the segfault you now get a more informative error:

*stdin*:0: libguestfs: error: connection to daemon was closed unexpectedly.
This usually means the libguestfs appliance crashed.  Please enable
debugging (LIBGUESTFS_DEBUG=1) and rerun the command, then look at the
debug messages output prior to this error.
libguestfs: error: /dev/stdout: write: Broken pipe
libguestfs: error: file receive cancelled by daemon
tests: Add a regression test for RHBZ#914931.

This involves adding a new test API which crashes the appliance in the
middle of a simulated upload, then a test which uses that API to test
for the libguestfs (library-side) crash.
daemon: protocol: Fix memory leak when receiving FileIn file (RHBZ#914934).

This fixes commit 950951c67de61da27dceca8ffb2079031c13e43b.
recipes: Add example converting from one format/filesystem to another.