Add long links support to Boehm.

	* gc.h: Added parts of boehm 7.3a long link API.

	* finalize.c (GC_finalize): Implemented long link support by adapting
	code from boehm 7.3a.
	The idea is to have two table of links, one for regular and another
	for the long links. Regular links are processed before finalization
	and the long ones right after. The bulk of the changes are abstracting
	the disappearing link hashtable into a data structure so we can have
	two of them.

	Boehm code came from github.com/ivmai/bdwgc.git. Authors of the
	relevant changes are Zach Saw and Ivan Maidanski.
Boehm now supports long links.

	* gc.c: mono_gc_weak_link_remove must now take a bool to signal if it's
	a tracking or non tracking link. This is due to a limitation in how tracking
	links are implemented in boehm in that it cannot discover the kind on its own.

	* gc.c:
	* boehm-gc.c: Remove all tracking link hacks now that boehm has proper support
	for it.
Remove tracking link hashtables no longer used by boehm.