[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 ...
- [x] remove resultTypes and customResults
- [x] don't lazy load the search result js & css stuff to make it more themable?
- [ ] make search_lucene add hightights / snippets
- [x] ajax scrolling for results

cc @andrewsbrown @MorrisJobke
Hmm right, not sure why this was never encoded in the first place in OC.generateUrl @DeepDiver1975 ?
There's another function `OC.buildQueryString({abc: 1, def:2})` that can be used to convert hash arrays to a properly encoded URL query string `abc=1&dev=2`