Recursive Annotation Visiting

This allows JRuby to properly interact with annotations which have annotation fields.

This pull request doesn't match in style yet, but I'm opening it for feedback before I polish.  

Please let me know:
1) Do you want to go forward with this implementation.
2) There were no tests for codegen utils, so are the ones I generated in the proper place?
3) Style of tests good?