refactor of block editing

* switch to a registry that stores all block info, not just views
* add a getAll registry method to get all views with a given name
* show buttons for all block types in the layout toolbar
* show the block's modal edit form after it is added
* use this.context to simplify passing of callbacks in the layout components
* rename 'uuid' property of item block to 'item'
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
add 'picker' mode for search results

* always include the type facet in results from server, and hide it on client side when mode != picker
* show text input for searchTerm when mode == picker
add table display mode for search block
add object picker for item block, and search listing view for images
merge origin/master
Handle component unmounting while request in progress
Avoid rendering home page by default in item block.
Merge pull request #301 from ENCODE-DCC/1500-object-picker

Search block type and object picker