Initial prototype HTML docs
Add support for searching UDF headers

This commit adds general support for filter on udf fields using standard
django filter syntax with the addition of a prefix:

```
Plot.objects.filter(**{'udf:nickname': 'stumpy'})
```

This means that search queries can include the udf prefix on fields and
things should 'just work':

```
{'tree.udf:age': {'MIN': 5, 'MAX': 10}}
```

In general, the commit provides machinery for django to generate a valid
where and order by clause. For example, something like:

```
Plot.objects.filter(**{'udf:Plant Date': datetime(2000,1,2)})
```

Transforms it SQL like:

```
("treemap_plot"."udf_scalar_values"->'Plant Date')::timestamp ==
'2000-01-02'::timestamp
```

In addition to filtering ordering is also supported. When ordering by a
udf the order by statement must include the model prefix. The following
are valid order by definitions:

```
Plot.udf:Nickname
-Tree.udf:Secret ID
```

Since we don't know the datatype of a sort field we cannot cast it.
Dates will sort correctly since dates are lexicographically ordered.
Numbers will not.
Change map page url to /instance-id/map

More clear and matches the name of the template file
Fix api tests by using a public instance

Making instances private by default in acd50a01e6 broke the API tests
Merge branch 'master' of github.com:azavea/OTM2
Merge pull request #185 from jwalgran/topic/rename-map-page-url

Change map page url to /instance-id/map
Merge profile prototype markup

I looked at /prototype/profile.html and stitched it into the existing
user.html template.
Fix user page title

The page title was incorrect because username is no longer in the
top level of the context. It is now nested under user.
Fix ecobenifit tests by using a public instance

Making instances private by default in acd50a01e6 broke the ecobenefits
tests.
Use the 'q' query parameter on the search page to trigger searches.

Partially Fixes #159
When performing a search put param in query string

Fixes #159
Move these guys out to utility namespace
Set search values from query string

Update 'species' and 'location' text box/autocompletes with the data
specified in the query string.

In particular, a mechanism using a custom events is being added. Any
search widget should implement a custom event called `restore` that
accepts as extra data param the value to update to.

Updates when using `restore` should *not* trigger a new search
Use npm packages for better query string manipulation
Merge pull request #174 from ahinz/fix/159/use-q-param-for-search

Fix/159/use q param for search
Fix dot-notation lint in app.js and search.js

Reported by jshint via `fab vagrant check`
Merge pull request #186 from jwalgran/topic/merge-profile-prototype

Merge Profile Prototype
Replace cultivar_name with cultivar. Fixes #58.
Native status is now nullable boolean. Fixes #90.
Reputation is tied to an instance, it cannot be null.

Fixes #168