Filter by instance id for plots and boundaries

Both plot and boundary tiles require an instance to render the proper
subset of their respective elements. However, the method for generating
the SQL requires two different approaches.

Since we're only using one route we can just switch on the table name.
Merge pull request #14 from azavea/topic/filter-by-instance-id

Filter by instance id for plots and boundaries
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