Select only one feature per tile pixel

Performance can suffer when zoomed out with many features per pixel, so compute the pixel size
and use ST_SnapToGrid to select just one feature per pixel.
Merge pull request #31 from RickMohr/one-feature-per-pixel

Select only one feature per tile pixel
Fix broken tests
Support ISNULL predicate

Makes implementing filters for missing data or has/doesn't have a tree
easier to implement
Properly convert null values to strings

Previously this would work for single null values, but failed for nulls
inside an IN caluse
Use the same join regardless of whether tree is in the filter or not.

Since we have added filters for tree.id IS NULL, we need to LEFT JOIN
when filtering for trees, which makes having a separate select pointless.

I've left filterStringToTables.js in place, since I expect to need
separate SELECT statements depending on the filter in an upcoming PR
Update docs
Merge pull request #32 from maurizi/topic/isnull-predicate

Support ISNULL predicate
Merge pull request #33 from maurizi/support-display-filters

Support display filters
Pull filter traversal utility functions out of filterStringToWhere
Add support for filtering on tree photos

 - Moves JSON parsing from filterStringToWhere up into makeSql
 - Changes SQL generation to only JOIN to tables needed for filter
 - Gets rid of special-case base SQL for UTF Grid requests
 - Note: we do not need to do a DISTINCT ON (treemap_mapfeature.id), even
   though JOINing to photo means we may have more than one row per mapfeature,
   since we also do DISTINCT ON (the_geom_webwercator), which should eliminate
   duplicate mapfeatures
Update docs
Rename functions now that they use objects instead of strings
Merge pull request #34 from maurizi/support-treephoto

Support tree photo filtering
Object names are now camel-case, not lower case
Merge pull request #35 from RickMohr/camel-case-search-names

Object names are now camel-case, not lower case
Camel-case identifiers in tests
Include display filters when generating table JOINs
Generate WHERE clause for display filters
Make filterObjectToWhere to properly handle an empty filter object