HtmlFormatter is null-safe.

- ResultDocument specifies getUrl as conditional non-null.
- ResultDocument has a getType_or_default method which never returns null.
- Split HtmlFormatter's docType assignment into two parts: ResultDocument.getType_or_default and conditionally formatting a doc type message.
SearchResultFormatterBase is null-safe.

- SeSearchResultFormatterBase.snippetDelegate is monotonic non null;
- SeSearchResultFormatterBase.setShowSnippetsStrategy() is the only place that writes snippetDelegate, snippetDelegate is private;
- getSnippetStrategy returns a default no-op snippet writer;
- SearchResultFormatterBase.Table can contain null SearchResults.