Clean up AnalysisResult, Result, and Diagnostic. AnalysisResult should record list of parameters as serializable Java Objects. Result now uses (new) ResultType Success, Failure, Error. Diagnostic is not recursive any more.