mapper: Introduce mapper ops per version

This commit:
* Introduces mapper ops per version.
* Replaces expicit casting from buffer to fields with appropriate functions.
* Introduces a generic struct header.
* Introduces a struct header for each version.
mapper: Construct names from big endian epoch/idx
mapper: Add checks for valid blocksize

Check if supplied or read blocksize is valid (power of two).
Also, make use of the map blocksize instead of relying on the default one.