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 #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
Merge pull request #36 from maurizi/fix/display-filters

New API for display filters
Fix README link to javascript docs

Update to organization change (azavea -> OpenTreeMap)
Update to correct file (filterStringToWhere.html -> filterObjectToWhere.html)
Use a different static provider (htmlpreview.github.io -> rawgithub.com)