lib: Add CRC32C Implementation

This implementation was derived from FreeBSD:
http://code.google.com/p/freebsd-head/source/browse/sys/libkern/crc32.c

Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Joe Stringer <joe@wand.net.nz>
---
v4: Fold in debian license modification
    Suppress checksum test sparse warning
v3: Rebase
    Return crc32c checksum in network byte-order
    Add checksum tests based on Intel IPPs documentation
v2: Update copyright notice
    Include config.h (Fix sparse error)
datapath: Add SCTP support

This patch adds support for rewriting SCTP src,dst ports similar to the
functionality already available for TCP/UDP.

Rewriting SCTP ports is expensive due to double-recalculation of the
SCTP checksums; this is performed to ensure that packets traversing OVS
with invalid checksums will continue to the destination with any
checksum corruption intact.

Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Joe Stringer <joe@wand.net.nz>
---
This patch introduces sparse warnings when calling
sctp_end_cksum(), due to a bug that was fixed in v3.10:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=eee1d5a14780b9391ec51f3feaf4cffb521ddbb1

v4: Rebase against megaflow
    Move compute_sctp_checksum to compat/
    Move openvswitch.h header changes in from other patch
    Don't set CHECKSUM_UNNECESSARY on port-rewrite
    Remove checksumming from Xen compat code
v3: Rebase
    Refactor sctp checksum computation
    Handle skb fragments for checksum calculation
    Fix sparse errors
v2: Remove SCTP checksum recalculation when changing IP address
    Calculate checksums as delta from incoming checksum
ofproto-dpif: Add SCTP support

Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Joe Stringer <joe@wand.net.nz>
---
v4: Rebase against megaflow
    Move openvswitch.h header changes to datapath patch
v3: Rebase
v2: Fix broken test
    Use the correct packet pointer
    Calculate checksums as delta from incoming checksum
ofp-util: Add SCTP support

Reviewed-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Joe Stringer <joe@wand.net.nz>
---
v4: No change
v3: Rebase
v2: Add flowmod parse tests
    Add set-field tests
    Add NEWS item
    Add sctp to ovs-ofctl.8