Fix a bunch of false positives

 - Properly handle enum constructors, to check for valid params
 - Constructor for anoymous classes should never be reported,
     they can't be declared
 - Check not only super classes, but interfaces for declared methods