[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
@PVince81 I am new to JS classes and how visibility is done there. I tried to do what http://javascript.crockford.com/private.html describes but really ned some feedback on this part of the implementation. Also in result.js I wait until document ready and then defer the registration of formatters and handlers. More with fingers crossed than actually knowing why that makes sure OC.Search is available...