Fix message length extraction in decrypt

Integer overflow would have effectively truncated
message length to 8 bits. We don't have any m_len_len==2
parameter sets, so this branch was never hit.
Unify message weight checking for all key types

Masking the value of m(1) for product form decryption keys was
causing significant decryption failure rates. The revised
product form parameter sets introduced here use the same message
weight check as non-product form sets. In particular the number
of 1s, -1s, and 0s in the message representative must each be
greater than or equal to dm0. The value of m(1) is no longer masked.

The new minimum message weights are
ees401ep2: dm0 = 101
ees439ep2: dm0 = 112
ees593ep2: dm0 = 158
ees743ep2: dm0 = 204.
Small test/ cleanup