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