Formatting integers with `%e`, `%f`, `%g` and `%a` is now possible.

The formatting posibilities of integers have been expanded to the
specifiers that are typical for floating point numbers: Integers can
now be formatted using `%e`, `%f`, `%g` and `%a`. The result is
similar to the result expected for the corresponding floating point
value.

```
assert(format!"%.3e"(ulong.max) == "1.845e+19");
assert(format!"%.3,3f"(ulong.max) == "18,446,744,073,709,551,615.000");
assert(format!"%.3g"(ulong.max) == "1.84e+19");
assert(format!"%.3a"(ulong.max) == "0x1.000p+64");
```
