iocore: handle recv() OSError as empty read

FIXME
refactoring: exceptions in IPDB and generic parser
tests: use one process in test_ipr