Ungets a single byte from a file.
Pushed-back bytes are not written to the file, only made available for
subsequent reads, in reverse order.
The number of pushbacks depends on the backend.
The standard I/O backend only guarantees a single pushback; this depends
on the libc implementation.
For backends that follow the standard behavior, the pushback buffer will
be cleared after any seeking or writing; also calls to al_fseek(3) and
al_ftell(3) are relative to the number of pushbacks.
If a pushback causes the position to become negative, the behavior of
al_fseek(3) and al_ftell(3) are undefined.