Start fleshing out an IPv4 software hash routine.

This has only been verified for IPv4 2-tuple hashes.
Add an initial check / software hash calculation for IPv4 fragments.

This is totally inefficient - for 2-tuple UDP, chances are we don't
even need to do this and can use the 2-tuple calculated from the
hardware.

Even so, this is a good start.

It also needs to be done during various IP encapsulation passes.