sbin/hammer: Fix/refactor check_data_crc()
Separate inode CRC from other CRC checks.
The only reason this function goes into while(data_len) loop is
because HAMMER userspace can only support upto 16KB buffer data
whereas inode is always 128 byte.
CRC check should look something similar to the kernel function
hammer_crc_test_leaf() in order to keep maintainability.
Also blockmap_lookup() doesn't need to be inside the while loop.
It only needs to verify zone offset once for each record data.
Also use return value of blockmap_lookup() which is zone2 offset
instead of using non-zone2 offset for get_buffer_data().
get_buffer() does extra blockmap lookup if offset is not zone-2.