Brings full REST api search and a lot of code refactor and template rework

**What does this PR do?**

Moves to a full json REST api based search engine. All the templates with search (map, documents, layers, groups, search, profile) lists use api and render client side using Angular.js. The faceting is calculated just once so all the subsequent queries to the apis are just related to results. Categories and keywords have their own api as well as groups.
The apis are now cleaner and easily extensible, they respect the geonode granular permissions.
The Search filters and query are now persistent with the url (they interact with the url) and every search is thus a bookmark.
Brings a lot of css and html updates a big thanks goes to @ppasq.
The search app is entirely gone.
The spatial search is now in the apis and client side uses a simple lealfet map without loading gxp and ext anymore.

**Backwards compatibility.**
It will require migrations on release because introduces Polymorphic model on ResourceBase

**Issues**
Some apis might be incomplete and the layout is unfinished yet. Many commits will follow in these days.
Services still need work.
Haystack is to be implemented as a plugin. Like it should be to others extensions.