Annotation rules not adequately enforced.

piebeer on IRC found some potentially nasty bugs in annotation parsing.

Possible fixes in my branch "annotations_fixes". Please review.

I'm tagging this for 0.2.2.x for now, but it is a backport candidate if we're going to do another 0.2.1.x.