Redesigned Analyzer chaining

Analyzers are now passed a result object to which they report results before
passing it further. Result values are only writable once. All analyzers get to
have their say.

SimpleDSNClassifier now has first priority rather than last, because when it
only sets result values (status code and/or recipient) with very high
confidence.
SimpleDSN: less indentation, better parsing