Add REST API

**What does this PR do?**

Adds JSON REST API to GeoNode

**Background**

As per GNIP #1042, we want REST APIs in GeoNode.
The API endpoint is "/api"
Through the url it's possible to filter results on ResourceBase, Layers, Maps, Documents, Users, Tags, Categories.
The ResourceBase, Maps, Documents and Layers respects the GeoNode granular permissions and have faceting and Tag/Category counts based on the search.
The ResourceBase table is now polymorphic and when queried it actually returns the child instances.

**Issues**

#1042

![screen shot 2014-04-17 at 14 33 55](https://cloud.githubusercontent.com/assets/779380/2731439/95a83b9a-c62c-11e3-83c9-724ada88be3f.png)

**Notes**

- This functionality requires migration
- For now it just support JSON serialization
- Just supports Read -> GET
- Not all filters are implemented yet (ie spatial filter)