Fixes bug 1013321 - Admin UI for the master list of Super Search Fields

This does three important things:
1. Move the fields from a JSON file to elasticsearch, so they can be modified.
2. Add middleware services to add, edit or delete fields.
3. Add an admin UI to view, add, edit or delete fields. 

Along that, it also adds a way to refresh the cache in the webapp models. 

@peterbe r?

Apologies for the, once again, big PR, but all those things are quite tied together, so it would have made little sense to split them into smaller PRs. 
Instead of using the numbers, you could technically use sets. E.g.
```python
assert len(all_fields) == len(indexed), (
    ".... Missing: %s" % list(set(expected) - set(all_fields))
)
```
I don't know how likely this ever is in run-time or ever but something like that would be much more useful.