Reverts provisional commit and applies the correct fixes to gf256 math
module. This resolves incorrect ECC generation for a large number of
cases where the most significant polynomial in a remainder resolves to
0 at any point during the generation of intermediate remainder values.
Fixes an issue where a GF(256) remainder used for reed-solomon error
correction bytes is a codeword short on return from division. This may
not be the final resolution to the wider issue.