Add -O3 flag

This makes bignum tests faster.
Implement shift left/right by one byte

This is required by the division algorithm
Implement big-number division

This is a shift-subtract binary algorithm which works in constant-time.