Add suppress-scope handling for more XML detectors

This changeset adds is-suppressed checking to most of the remaining
XML detectors. These are detectors which do post processing on data in
order to compute the warnings, at which point they no longer have
access to the original DOM node context.  This changeset adds various
checks to handle this, such as storing the DOM node in the location
handle client data and checking explicitly before using the handles.
It adds various unit tests for the suppress scenarios too.

There are now two remaining detectors which don't properly handle
suppression: the TranslateDetector, and the DuplicateIdDetector (in
cross layout scenarios). These will be addressed in a separate CL.

Change-Id: I53e792dd2f2802c7dce16beb73127f20d9b2dba8
21 files changed