Changed implementation of the read barriers.
The read barrier during the root-set marking takes an extra argument to ensure that the root-set gets added to a worklist.
The read barrier during the marking of the globals takes an extra argument to ensure that the root-set gets added to a worklist.
Changed location of the stop-the-world pause, added code that ensures that the gc-threads wait for all mutators the have the gc-trap enabled again before starting relocation.