Cleanup the packet pointer from packet node the moment we start using it

During flow queue flush, if an error occurs, pnode's packet pointer was
not cleaned up. Because of the multi stage flush logic we have now, a
subsequent flush will find this packet and try to flush it again, resulting
in potential double frees.

Closes BUG: #1401204

Change-Id: I848bbd62a53c129254eae65ab226cfb4e5baf2ff