For bases which are powers of 2, we now use a derivative of the bit-counting technique to generate fast results (we basically count the number of N-bit-sized "chunks" that exist in the bitstring of $x$
For other bases, we simply derive a deliberate underestimate of the true $log$ using $floor(log_2(x) / log_2(b))$ and start iterating exponentiation from here rather than from 1. It's debatable whether using binary search between the min and max bounds of this would be faster or not, however I am deciding not to include it because multiplication is cheaper than division and exponentiation in this library, and the remaining linear search required is likely to not be that large...
Closes #124