Fixed compilation issues under garbage collection

1) removed 'strong' from delegateQueue declaration. It's the default anyway. Under GC, it's an error since dispatch_queue_t is not an Obj-C object.
2) create an '__arcweak' that's weak under ARC but strong under GC.  Used where __weak variables are created on the stack, which is not allowed under GC.  Under GC reference cycles are not the problem they are under ARC, so being strong is fine.

With this, things again work under both ARC and GC.