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
Match style.
Merge pull request #599 from daicoden/recursive-annotation-visiting

Recursive annotation visiting