Add support for annotations that contain an array of sub-annotations.

This adds support for parsing an annotation that is being used as a container for other annotations.

For example:

    @Authors({
        @Author(name = "John"),
        @Author(name = "George")
    })
    public class Book ...

(Example from http://softwarecave.org/2014/05/20/repeating-annotations-in-java-8/ )

Where:

    public @interface Authors {
        Author[] value();
    }

and `Author` is also an annotation `@interface`.

(I haven't looked at how this is affected by the Java 8 @Repeatable annotations syntax, however.)