Export GC_push manipulation functions and function pointer.

* include/private/gc_priv.h, include/gc_mark.h: Move GC_push_all,
GC_push_conditional and GC_push_other_roots to a public header and adjust
prototypes and comment.
* mark.c, os_dep.c: Adjust prototypes accordingly.
Merge (dummy) remote-tracking branch 'pcpa/master'

Conflicts:
    include/gc_mark.h
    include/private/gc_priv.h
    mark.c
    os_dep.c
Add weak attribute to avoid __data_start undefined messages (s390x)
(Apply commit 8d3e3ac from 'mono_libgc' branch.)

* include/private/gcconfig.h (__data_start, _end): Add "weak"
attribute for Linux/s390.

Conflicts:

    include/private/gcconfig.h