add search block type

* add a search block type
* refactor search component so it calls onFilter when a filter is clicked so a wrapper component can control navigation / updating state
* use the search component for editing the search block
* make the backend search view work even if no term or type entered
* fix fallback block edit form to use schema if specified
* prevent default click action on block add buttons