support With and Prefix annotations

@With and @Prefix do the right thing for methods and constructors.

FIXME: one constructor path in StatementGenerator uses a GeneratedMethodBinding,
which will strip the annotations. The Types call #getOriginalMethodBinding seems
to also strip annotations. These issues might not surface in our use case,
but a general solution should figure them out.