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.
hrm. some reason it's not showing up in my IDE. only `String...` and `String`. could it be a version issue, or is my IDE just being screwy?