only search on document models; exclude purely metadata types

Specify collection,entity,file ES types so facets don't appear in
search results.
separate Elasticsearch indexes for each mount path

Creating or refreshing an Elasticsearch index can take
a long time.  Rather than having a single "documents" index
that is recreated every time the mount path is changed,
there is now a separate index for each store.  These indexes
remain in Elasticsearch and are automatically used when the
corresponding store is mounted.  The search admin now shows
stats for each index and controls for dropping and/or
creating/refreshing indexes.  Searching is disabled if no
store is mounted or there is no index.

- Removed reindex celery calls from storage mount/unmount.
- Added webui.set_docstore_index() function that looks for
  mounted storage and a matching ES index, if any.
- @search_index decorator for search-related pages that alerts
  if no mounted storage, or if no ES index for mounted storage.
- Only perform searches if there's an active docstore index
  (see set_docstore_index()).
- Updated search-admin reindex and dropindex forms.  Menus now
  list existing indexes plus index names for mounted stores even
  if the indexes don't exist (so they can be added).
- Reworked search admin page.
- Reworked webui.tasks.reindex() to do the whole reindex workflow:
  delete_index, create_index, put_mappings, put_facets, index.
- Show name of current docstore_index in footer of search pages.

closes issue #152