Improved mmcif logging (#154)

Warnings for unknown keys are only printed once per loop, and only if a
non-empty value is stored.