Fix signed/unsigned mismatch warnings, part 3.
Fix signed/unsigned mismatch warnings, part 3.

In d2s.c and f2s.c, pow5bits() always appears in expressions that are
initializing or assigning to int32_t:

```
const int32_t k = DOUBLE_POW5_INV_BITCOUNT + pow5bits(q) - 1;
const int32_t k = pow5bits(i) - DOUBLE_POW5_BITCOUNT;
const int32_t k = FLOAT_POW5_INV_BITCOUNT + pow5bits(q) - 1;
const int32_t l = FLOAT_POW5_INV_BITCOUNT + pow5bits(q - 1) - 1;
const int32_t k = pow5bits(i) - FLOAT_POW5_BITCOUNT;
int32_t j = q - k;
j = q - 1 - (pow5bits(i + 1) - FLOAT_POW5_BITCOUNT);
```

We could avoid compiler warnings by adding casts to each of these
occurrences, but it's easier to change pow5bits()'s return type
and statement.

(Note that d2s.h's RYU_OPTIMIZE_SIZE logic uses pow5bits() to
initialize uint32_t. I don't use RYU_OPTIMIZE_SIZE so I'm not changing
those occurrences; it seems that I'm the only Ryu user at this time who
has to deal with a high level of sign mismatch warnings. As usual,
there's no behavioral difference for two's complement machines,
which is everything.)

ulfjack/ryu,ulfjack/ryu,ulfjack/ryu,ulfjack/ryu