Make the annotation processor more verbose and strict

Also changes compatibility level from Java7 to Java6
Do we have to loop through everything? Maybe adding all field names into a list, and then simply ask `contains`.