Implement support for parts of Java annotations.

Implementation of parts of https://github.com/swig/swig/wiki/GSoC-2013-ideas#Java_annotations_support mainly annotations for constructors, methods and type declarations. What's missing is the annotations for in/out arguments. This is basically a word for word copy from the same feature in the C# module.