tools: console: Relax stream EOF handling
tools: console: Relax stream EOF handling

Regular VM shutdown triggers the error for existing session of virsh
console and it returns with non-zero exit code:
  error: internal error: console stream EOF

The message and status code are misleading because there's no real
error. virStreamRecv returns 0 correctly when EOF is reached.

Existing implementations of esx, fd, and remote streams behave the same
for virStreamFinish and virStreamAbort: they close the stream. So, we
can continue to use virStreamAbort to handle EOF and errors from
virStreamRecv but additonally we can report error if virStreamAbort
fails.

Fixes: 29f2b5248c6 ("tools: console: pass stream/fd errors to user")
Signed-off-by: Roman Bolshakov <e9c94dff02085feaa10f4659102d5bd952cb2e61@yadro.com>
Reviewed-by: Daniel Henrique Barboza <627b089ad62deae9aaf06ccfa2c9056df28927e0@gmail.com>
Tested-by: Daniel Henrique Barboza <627b089ad62deae9aaf06ccfa2c9056df28927e0@gmail.com>
Reviewed-by: Michal Privoznik <83d82aaba2eed257f4814b0c239c260c4caaadf0@redhat.com>

nertpinx/libvirt,crobinso/libvirt,crobinso/libvirt,jardasgit/libvirt,zippy2/libvirt,jfehlig/libvirt,jfehlig/libvirt,jardasgit/libvirt,nertpinx/libvirt,crobinso/libvirt,libvirt/libvirt,fabianfreyer/libvirt,andreabolognani/libvirt,andreabolognani/libvirt,andreabolognani/libvirt,jardasgit/libvirt,libvirt/libvirt,libvirt/libvirt,libvirt/libvirt,zippy2/libvirt,crobinso/libvirt,andreabolognani/libvirt,olafhering/libvirt,olafhering/libvirt,nertpinx/libvirt,jfehlig/libvirt,jardasgit/libvirt,olafhering/libvirt,zippy2/libvirt,fabianfreyer/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,olafhering/libvirt,nertpinx/libvirt,fabianfreyer/libvirt,zippy2/libvirt,nertpinx/libvirt,fabianfreyer/libvirt,jfehlig/libvirt,andreabolognani/libvirt