Use symbol links to access global array type

Existing code uses `globalArrayType` to make array types. However accessing this value directly might fail if at this moment `globalArrayType` is not yet initialized - this might happen if user code contains augmentation for `Array<T>` that includes call signatures with arrays as parameter types\return types. 
Normally recursive type references are handled by picking type from the `SymbolLinks` for the type symbol. Switch to the same approach for `globalArrayType` - store `globalArrayTypeLinks` and use `globalArrayTypeLinks.declaringType` instead of picking `globalArrayType` itself.
 
Fixes #233
Emphasize that the reason this does not happen naturally is that it is only for call/construct/index signatures, but not properties or methods.