Move all checking on the for loop declaration into the matchers.
Once a match is generated clients only need to examine the body of the for loop to ensure its convertible.
This also brings the handling of match results for Iterator and PseudoArray loops much more inline.
This supercedes D97889
There's already a (deprecated) hasDefaultArgument in ASTMatchers.h with the same implementation.
It is deprecated in favor of hasInitializer.