Remove unused UTHREAD_SP_OFFSET macro (OpenBSD)

* include/private/gcconfig.h (UTHREAD_SP_OFFSET): Do not define (since
no longer used for OpenBSD because pthread_stackseg_np is used to get
thread stack pointer).
Support rthreads introduced in OpenBSD 5.2+

* include/gc_config_macros.h (GC_OPENBSD_UTHREADS): New macro (defined
only if OpenBSD prior to 5.2 release and threads).
* include/private/gc_priv.h (SIG_SUSPEND): Define for OpenBSD (unless
GC_OPENBSD_UTHREADS).
* include/private/pthread_stop_world.h (thread_stop_info): Test
GC_OPENBSD_UTHREADS macro instead of GC_OPENBSD_THREADS.
* misc.c (GC_set_suspend_signal, GC_set_thr_restart_signal,
GC_get_suspend_signal, GC_get_thr_restart_signal): Likewise.
* os_dep.c (GC_dirty_init): Likewise.
* pthread_stop_world.c: Likewise.
* tests/initsecondarythread.c (main): Likewise.
Suppress 'GC_dont_gc deprecated' warning in gc.h if GC_DONT_GC

* include/gc.h (GC_dont_gc): Do not specify GC_ATTR_DEPRECATED if
GC_DONT_GC defined (to avoid deprecated warning in
GC_INIT_CONF_MAX_RETRIES which assigns GC_dont_gc directly).
Move GC_OPENBSD_UTHREADS definition to private/gcconfig.h (OpenBSD)

* include/gc_config_macros.h (GC_OPENBSD_UTHREADS): Move definition
to gcconfig.h (i.e., do not export to client code).
Use pthread API to operate thread-local data on Linux if no compiler TLS

* include/private/thread_local_alloc.h (USE_PTHREAD_SPECIFIC): Define
for GC_LINUX_THREADS (instead of default USE_CUSTOM_SPECIFIC) if
compiler TLS is unavailable (e.g., for linux/arm).
Workaround 'unresolved __tls_get_addr' error for Android NDK clang/mips

* include/private/thread_local_alloc.h (USE_COMPILER_TLS): Do not use
for Android NDK Clang/mips (to workaround "unresolved __tls_get_addr"
linker error).
Tag GC malloc routines with alloc_size attribute for Clang 3.2+

* include/gc_config_macros.h (GC_ATTR_ALLOC_SIZE): Define as alloc_size
attribute for Clang 3.2+ as well.
Workaround 'unresolved __tls_get_addr' error for Android NDK Clang/x86

* include/private/thread_local_alloc.h (USE_COMPILER_TLS): Do not use
for Android NDK Clang (to workaround "unresolved __tls_get_addr" linker
error reported both by clang/x86 and clang/mips).
Use compiler TLS for Android NDK gcc/arm

* include/private/thread_local_alloc.h (USE_COMPILER_TLS): Define for
Android NDK gcc/arm v4.6 or higher.
Fix typo in comment of signalObjectAndWait_func (Win32)

* win32_threads.c (signalObjectAndWait_func): Fix a typo in comment.
Improve debug-only messages of add/remove_roots and init_linux_data_start

* mark_rts.c (GC_add_roots_inner, GC_remove_root_at_pos): Log r_tmp
value (only if DEBUG_ADD_DEL_ROOTS).
* os_dep.c (GC_init_linux_data_start): Log unresolved [__]data_start
symbol (only if DEBUG_ADD_DEL_ROOTS and LINUX).