This is a cleaned up version of #548
Generate Annotations for non primitive arrays
This fixes a bug where annotation fields which were specified as arrays of non primitives would result in an illegal argument exception.
This was caused by the non recursive nature of #visitAnnotationFields in CodegenUtils.
Recursivly visit annotations.
Add test for nested annotation as arrays.
Remove unused code
Ok, thanks for the explanation in #548. I merge!