Introduce VIF interface version 4
This greatly simplifies the interface with XENNET by queuing single packets
on both the transmit and receive side, negating the need for a shared packet
structures and bringing static hash calculation into XENVIF.
Crucially this also means that XENNET no longer needs to use the
XENBUS_CACHE interface which allows it to be patched to avoid the race
introduced by commit
026aa32c "Make sure XENBUS interfaces are released when
going into S4".
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>