At this point PathDiagnostic, PathDiagnosticLocation, PathDiagnosticPiece structures no longer rely on anything specific to Static Analyzer, so we can move them out for everybody to use.
It's not the point where I'm happy with the API that i'm exposing this way; it's just the point where i expose it "because i can", i.e. the technical difficulties have been sorted out and a relatively clear separation between aspects of the API that are specific to the Analyzer and the aspects that aren't necessarily specific to the Analyzer has been achieved.
PathDiagnosticConsumers are still to be handed off.
This needed to go up because that's where CLANG_ENABLE_STATIC_ANALYZER is defined.