[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
Is this a good opportunity to move search to a separate file ? (with matching JS unit tests)