Crc

Introduce hardware supported crc, add templates for generating functions with different polynomials.