It was using uint64_t instead of DigitsT. This was preventing
instantiations of ScaledNumber with anything other than uint64_t types.
In implementing the tests, I ran into another issue. Operators >>= and
<<= did not have variants for accepting other ScaledNumber as the shift
argument. This is expected by the SCALED_NUMBER_BOP.
I'm not sure it makes sense to allow shifting a ScaledNumber by another
ScaledNumber, so I generated a new template for shifting ScaledNumbers
using a new macro SCALED_NUMBER_SHIFT.