Support 1-d global array initialization

The following kinds of array declarations now work at file scope:
int i3 = 3, i4 = 4;
int* ap1[] = { &i3, &i4 };
int a2[3] = { 1 };
int a3[3] = { 1, };
int a4[3] = { 1, 2, 3 };
int a5[3] = { 1, 2, 3, };
char a15[5] = "abc";
char a16[5] = { "abc" };
char a20[5] = { '0','1','2','3' };
char a29[] = "abc";
char a30[] = "";
int a31[] = { 1, 2, 3, 4, 5 };
char a35[2] = "ab";
Initialization of 2+-d arrays is still not supported.
Initialization of local (function scope) arrays is still not supported.
Also, the following kind of array initialization isn't supported:
char* a22[1] = { "abc" };