pmem: Extend pmemblk_check functionality.

 - Update the checksum handling to handle BE systems.
 - Improve the way the chk-sums are calculated.
 - Adjust the checksum unittest to be endianess aware.
 - Recover from failed flog map updates.
 - Handle wrong block sizes during opening of pools.
 - Add invariant checks inside btt where appropriate.
 - Remove unnecessary callback entry point

Initial version drafted by @mdalecki 
You are right, according to the manpage, the address has to be aligned to the pagesize. This code is taken from the libpmem_persist, so the changes need to be made there as well.