Fixing some return values and calling free

In tcp_show_line: If no memory can be reserved, return PyErr_NoMemory()
In generic_record_read: Return NULL instead of calling fatal() if there is an error opening the file