Sanitize html into search and in results.

It turns out that solr's html sanitization makes the html unsearchable
but doesn't remove it from the results which isn't what we want.
Instead we'll remove it before sending it to solr.  This does give us
some flexibility in that we can later on decide to keep some of the html
in the results, send it to solr, and make sure it isn't searchable.
Meh.

A funky side case that I also fixed with this commit: when asking solr
for highlighting if there isn't a match in the field then it returns
nothing from the field.  So in the case of a title only match we have to
build a search fragment to show to the user.  CirrusSearchResult was
doing this but it wasn't sanitizing so I forced it to sanitize.  It also
had trouble with the length of the highlighting.  I fixed that too.

Change-Id: I3f9fa68c719336ce2be4a3919ff1e8a9a89ef176