Properly integrate our UDFManager with django-hstore

Previously, the UDFWhereNode inherited directly from GeoWhereNode.
Because of this, hstore queries for 'contains' were not being handled by
django-hstore.

This meant that when we did
`Plot.objects.filter(udfs__contains=['Field Name'])` expecting to retrieve
all Plots which had UDFs with the name 'Field Name' in their UDF dict,
using the hstore '?' operator, what we actually ran was the standard 'LIKE'
operator, searching for "%['Field Name']%".

Because of this, deleting UDF fields did not actually delete any values for
that UDF field.  This made it impossible to edit any objects which
contained those deleted UDFs.

Most of the code for generating SQL for accessing hstore columns is now
delegated to the django-hstore library.  One small change was made, which
is in
https://github.com/azavea/django-hstore/tree/cast-lvalues-to-rvalue-type
Fix UDF deletion and add migration to delete any values already present

Because we were not correctly wiring our custom manager into the HStore
manager this contains clause would not have worked before.

Experimentation shows that the syntax being used before deleted some but
not *all* UDF values.

In particular, UDFs with the key of the deleted field name and a value of
None were still present after the UDF was deleted.
PR fixup - update to latest version of fork, add support for contains
Jshint fixups for unit tests.
Update grunt to jshint test scripts.
Fix bad regex in the ecobackend, and raise better error messages

We use regexen to match failures from the ecoservice with their root cause

This regex was failing to match NMtnPrFNL, because it started with two
capital letters.

I've also changed the error parsing to raise a human readable error instead
of the rather cryptic message we get from HTTPError
Merge pull request #1683 from maurizi/fix-broken-tree-details

Fix bad regex in the ecobackend, and raise better error messages
Merge pull request #1663 from maurizi/fix-udf-undeleted-fields

Fix UDF deletion and delete fields that should be gone
Merge pull request #1671 from kdeloach/topic/jshint-tests

Update Gruntfile to jshint unit tests.