Fix handling of negative bytes in input Negative bytes were converted to UIntas is, without consideration for their sign (UInt is higher precision and can fit both). Converting to UByte first ensures sign is handled (i.e., masked with 0xff). This commit also increases test coverage of edge cases, by testing with all bytes in random order, similar to Apache's Commons Codec test suite. Closes #3