DisposeMethodInNonIDisposableTypeIssue: Added support for interfaces

The new version uses `DoGlobalOperationOn` to handle explicit implementations. This improvement requires a fix in `DoGlobalOperationOn` and another in `FindReferences`. Please review the FindReferences fix with extra care, since I'm not comfortable with the exact semantics of that method and fields such as `FindCallsThroughInterface`.

Also, while this works perfectly in the test environment, `TestMultipleInterfacesDispose` does **NOT** work in MonoDevelop. `DoGlobalOperationOn` has a bug that makes it match nodes it wasn't supposed to.