Don't do duplicate queries

Fixes a bug where initial query wasn't happening
Fix a bug with search

This fixes two issues:

Previously the query string was driving the search, which meant that
removing something didn't cause a reset.

We didn't support 'clearing' values at all. Now we send a 'null' value
to indicate a clear request.