Avoid double-free from rxgk_check_mic_in_key

We had been aliasing storage from an RXGK_Data into a Checksum
object, and then freeing the Checksum.  On Unix, where all the
allocators are the same, this "just" frees the storage from the
RXGK_Data while freeing the Checksum contents, letting the caller
end up double-freeing the storage when it tries to free the storage
for the mic again.  On Windows, where allocators can be different
in different modules, this could cause a crash directly.

Avoid the problems by un-aliasing the storage in the Checksum
object after attempting to verify the MIC, so that it remains
owned by the caller.

Change-Id: I7ef6d3c9f92cd4963bd8223e94131d4753d8c73e