[WIP] Full content width search results

:construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: 

This introduces
- Full content width search results
- OC.Search
- icons instead of type text
- formatters and handlers for search results
- cleans up css
- uses mime instead of mime_type
- deprecates OC.search.customResults and OC.search.resultTypes
- by default only handles generic search results
- comes with formatters and handlers for `file` and `folder` types
- restores the old result template when no formatter is present for a specific type to ensure backwards compatibility

@PVince81 how do I get the mimetype icon for a file when I am in the contacts app? How do I better encapsulate OC.Search?

@jancborchardt @MTRichards UI / css input is very welcome. I wanted to get this out as the first draft to discuss it.

TODO
- [ ] better formatters and handlers for calendar, contacts, bookmarks ...
- [ ] remove resultTypes and customResults
- [ ] don't lazy load the search result js & css stuff to make it more themable?
- [ ] make search_lucene add hightights / snippets
- [ ] ajax scrolling for results

cc @andrewsbrown @MorrisJobke
There is currently no good way, the public app does this https://github.com/owncloud/core/blob/master/apps/files_sharing/js/public.js#L235

But maybe we should just move `lazyLoadPreview` to core instead.