Fix the SuperficialValidator to properly handle upstream impact on AnnotationValues

Fix the SuperficialValidator to properly handle upstream compilation problems resulting in unreasonable AnnotationValues (specifically  "<any>" and "<error>" strings appearing instead of real values where there are missing imports or other upstream compilation issues).  Migrate isTypeOf from Dagger to perform the key test (i.e. is there a sane match between the expected annotation value type and the type returned by the processor environment)

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=75599279
Greg's advice tends to be "a switch/conditional + a cast sounds like a visitor".  The visitor is a little more immune to weird casting problems caused by internals changes between versions (I've had casts misfire because of weird bytecode interactions).  /shrug.  This was the direction of the original review.