Add Array Attribute Type Descriptors

Adds the ability to type keys and values when declaring array
attributes in XHP. The format follows standard Map type declarations:

```
attribute array<int> intValuesOnly;
attribute array<string => Foo> stringKeysAndFooInstanceValuesOnly;
```

The supported keys are just `int` and `string`, and the supported
values are `int`, `float`, `bool`, `string`, `array`, and class names.
There is no nesting of types yet. If people really want that it won't
be too hard to add.