Instead of copying and pasting the same #ifdef expressions in multiple
places, define a type and a pair of macros in kmp_os.h, to handle
whether va_list is pointer-like or not:
- kmp_va_list is the type to use for __kmp_fork_call()
- kmp_va_deref() dereferences a va_list, if necessary
- kmp_va_addr_of() takes the address of a va_list, if necessary
Also add FreeBSD to the list of OSes that has a non pointer-like
va_list. This can now be easily extended to other OSes too.