Port the search view from CGI to Flask. Tests pass!
Fix the <b> tags being escaped in the non-JSON search results.

This is safe because the line gets cgi.escape()d in query.py.