API: since there are multiple CRC algorithms, move CRC-32 into a module

There are many different variants of CRC, catalogued on the wikipedia
page:

http://en.wikipedia.org/wiki/Cyclic_redundancy_check#Commonly_used_and_standardized_CRCs

This library currently only supports CRC-32 (as used in Ethernet, *zip,
MPEG etc) but we could add support for other variants later, especially
CRC-32C (as used in iSCSI) which can be hardware-accelerated on modern
CPUs.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>