Make a copy of the input va_list in vLog before passing it.

We were calling vsnprintf() with the same va_list multiple times when
our temporary buffer was too small. We need to make a copy first.
Avoid reading a byte of uninitialized memory when parsing ProcFS values.
Fix endian check macros.