Refactored suggestions

Introduced notion of ISuggestion objects that know how to write their
html and how to determine equality. This to make it easier to show both
category and product suggestions.