Error correction on the metadata fields of P25 LDU1 and LDU2

Continuing with the error correction series, this is the commit that implements error correction on the metadata fields (data between the IMBEs).
Also I believe that the code for this part is now easier to understand and follow.
Added also a unit test for the the Hamming error correction algorithm.