preload/posix: Log failures when POSIX_TRACE=1

When POSIX_TRACE=1, do a printd() indicating that we are failing the call, to
make debugging easier.
preload/posix: Wrap open64()

In 32-bit platforms, glibc commonly uses open64(), but we are not wrapping it.

That causes us not be able to do something as simple as fail "cat" (which
coincidentally is what our fiu-run test does, causing it to fail).

This patch adds open64 to our custom wrapper.

To do that, instead of duplicating the custom wrapper we split the top code
generation macro into three smaller pieces, as we only need to customize one
of them.