Store the CRC so it doesn't have to be constantly recomputed.

This makes looping over many many objects more efficient. There's
still an n^2 loop created by looping over fields and then finding
each field by name (which loops over each field again), but at
least it doesn't also compute the CRC for the inner loop.