asyncproc: Return None when no data could be read

According to http://docs.python.org/2/library/io.html#io.RawIOBase
we need to return None when a non-blocking call couldn't produce any
data and not an empty strings.

Originally we returned an empty string and that confuses other IO
subsystems in python which assume this behaviour is correct.

Change-Id: I6329a8651c936789169bd35f26f69580958ef2cd
Signed-off-by: Saggi Mizrahi <smizrahi@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/22265
Reviewed-by: Antoni Segura Puimedon <asegurap@redhat.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-by: Yaniv Bronhaim <ybronhei@redhat.com>
Tested-by: Antoni Segura Puimedon <asegurap@redhat.com>