Return species_id and support queries in "plot" UTF grid requests

For "plot" UTF grid requests:
* The "interactivity" now contains both the plot ID and (if available) species ID.
* Plot queries are now handled. This required using explicit SELECT columns instead of '*' (because the plot ID column "id" is ambiguous when several tables are joined)

In addition, refactor SQL creation

* Break plots "select" clause into "fields" and "tables"
* In config, combine "plots" properties under "sqlForPlots" and include more pieces of the final SQL
* Fix up tests
* Add makeSql.js as separate module

Note also a bug fix: sqlForPlots.tables.tree now does a LEFT JOIN on the species table instead of a JOIN. That's because when searching for trees we want to get trees without species. With JOIN (aka INNER JOIN) we wouldn't.
"where" should be '' (not undefined) by default
Merge pull request #16 from RickMohr/show-species-on-mouse-move

Return species_id and support queries in "plot" UTF grid requests
Move MODEL_MAPPING to the config

In an effort to move table-level SQL details to the config so that the
only SQL details in the source code are predicate level.
Add specificity to boundarySql config string

So that another boundarySql field can be added to the config without
ambiguity.
Move select boundary statement to config
Test SQL creation logic for plots
Merge pull request #17 from RickMohr/test-plot-sql

Test SQL creation logic for plots
Merge pull request #15 from steventlamb/topic/more_sql_in_config

Topic/more sql in config
Add comments to clarify what we're doing in server.js

... also reorder config properties to help clarity
Merge pull request #18 from RickMohr/comment-tile-server

Add comments to clarify what we're doing in server.js
Specify a windshaft SHA in package.json

The specified SHA is version 0.13.1

This allows us to update the master branch of our fork of Windshaft
without automatically triggering an update to the tiler.
Merge pull request #19 from jwalgran/topic/specify-windshaft-sha

Specify a windshaft SHA in package.json
Typo
Add support for filtering on udfs

Filtering on string udfs is now support using the following syntax:

```
{'plot.udf:Nickname': ...}
```

The main goal is to intercept udf field names and transform:

```
plot.udf:Nickname -> "treemap_plot"."udf_scalar_values"->'Nickname'
```
Merge pull request #20 from azavea/topic/udf-filtering

Add support for filtering on udfs
Add cluster support

Take advantage of multiple CPUs/cores.
Remove lint and normalize whitespace in server.js
Merge pull request #21 from jwalgran/topic/cluster

Add cluster support
Don't try to escape null values