Revert "linuxmodule/todevce: don't attempt to defer packet after dev_queue_xmit"

This reverts commit de6f12a2cd40714f304dd0f1b6c4e12e7a5ccff6.
Revert "Don't lock the TX queue of a device in newer Linux kernels."

This reverts commit ccd9937401f5d590d261dc3ba6f3775028aade3b.
Revert "ToDevice/linuxmodule: Transmit skb with dev_queue_xmit()"

This reverts commit d65bfe4054a23468c808e95df4ab6b4a5ef9d9a3.
linuxmodule/todevice: fix logic for calling ndo_start_xmit

It seems much cleaner to me to directly call ndo_start_xmit rather than
dev_queue_xmit, as it avoids an extra layer of queueing and improves
backpressure behavior.  This should fix the NETDEV WATCHDOG issue that
Joonwoo fixed in d65bfe40, but in a different way.

In general, the logic in todevice.cc should be the same as
linux/net/core/pktgen.c.  This brings the code up to match that.
Merge pull request #75 from clifffrey/todevice-reversion

Todevice reversion