search: facets per collection

Allows to configure independently facets for every collection

Flask-Admin module available at /admin/facetcollectionview/

Matching fixtures for demosite: https://github.com/inveniosoftware/invenio-demosite/pull/21

There is no need to recreate DB. Instead of loading the fixtures - which are the default configuration, you can add facets by the Flask-Admin module. The facets added to the default collection with id '1' will be displayed in other collections which doesn't have the facets set defined.

You need to run the updater to update your DB.

Alters: https://github.com/jirikuncar/invenio/pull/242
Once we start with internationalization maybe it would be nice to write it this way so one can change the word ordering:
```python
    suffix = ' (%s)' % _('default') if self.id == 1 else ''
    return _('%(x_collection_id)d. %(x_collection_name)',
              x_collection_id=self.id,
              x_collection_name=collection_name + suffix)
```
Possibly we can provide 2 translatable strings:
```python
'%(x_collection_id)d. %(x_collection_name) (default)' # if self.id == 1
'%(x_collection_id)d. %(x_collection_name)' # else
```