Code refactoring of 'finalization extension API'
* finalize.c (GC_object_finalized_proc, GC_set_finalizer_notify_proc):
Use GC_await_finalize_proc type.
* finalize.c (GC_object_finalized_proc): Use STATIC instead of
"static".
* finalize.c (GC_set_finalizer_notify_proc): Rename to
GC_set_await_finalize_proc.
* include/gc.h (GC_set_finalizer_notify_proc): Likewise.
* finalize.c (GC_set_await_finalize_proc): Add LOCK/UNLOCK.
* finalize.c (GC_set_await_finalize_proc): Decorate with GC_CALL.
* include/gc.h (GC_set_await_finalize_proc): Likewise.
* finalize.c (GC_get_await_finalize_proc): New API function.
* include/gc.h (GC_await_finalize_proc): New type.
* include/gc.h (GC_set_await_finalize_proc): Document.
* include/gc.h (GC_get_await_finalize_proc): New API function
declaration.