Search storage tests

- Search now receives and filters by the submitter's id. 
- Search in postgresql does not filter by submitter if submitter is none. 
- Search in memory returns each document once, even if it matches multiple search terms. 
- Tests added for search   
Does it work if you do:
```
for term in search_terms:
    if term in title:
        if submitter is None or item.metadata.get('submitter')['id'] == submitter_id:
            yield item
            break
```
This will make sure once one of the terms matches, we won't try to match against other terms and return the item more than once. (I think)