unittest: fix integer overflow in test counts

If a given unit test section have more than 65535 individual tests, we
overflowed and reported the wrong number of passed, failed, and total
tests.
unittest: let tests output additional information
unittest: test assembly bit shifts
cosmetic: horizontal alignment
bitshift: fix assembly operands out of range warning

This worked fine before, but nasm complained about implicitly truncating
the operands to 16 bits. We actually want it to be truncated, so we now
make the truncation explicit.
bitshift: fix negative operand to TIMES