Feature/keep annotations

the goal was to have the generated classes keep annotations that were on the original abstract classes. this way you could use the generated code with Jackson easily, using annotations like `@JsonProperty("myProp")` and having them just work.

i added a new property to the `Property` class that lists the annotations, and using the velocity template to add them to the get methods.

this pull request contains the temporary fix for the breaking test, so i expect to rebase/fix it before actually getting merged in.
i thought about that. and figured we'd start with a limited subset (basically, leaving out nested annotations). my main focus was to enable AutoValue to make my Jackson objects a breeze, which this should do just fine.

what are your thoughts on limiting functionality for this PR to non-nested annotations?