libc: fix *rand48 bug

The *rand48() functions in Musl had a bug, caused by sign extension,
causing the generated sequence to be different than what it should have
been (Posix specifies the algorithm exactly).

This patch applies Musl's fix for this bug (from
http://www.openwall.com/lists/musl/2014/09/21/13) to the musl code
we have. The patched code is put in libc/prng.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>