unix: Fix GC not tracing .data

In unix/gccollect.c the gc_collect() function's first call to gc_collect_root() aims to trace .data and .bss. However it starts at "__bss_start", so to my understanding it doesn't trace .data. If we instead start the trace at "__data_start" then it will start at .data, go all the way through .bss, and end at _end as it did before.