merge queryMany into master

@springmeyer I'd like have queryMany in mapnik core. Still some questions need to be answered:

* Should both `query` and `queryMany` exist?
* With `query`, if no data is found on the tile, the function returns no data versus throwing an error, [which occurs `queryMany`](https://github.com/mapnik/node-mapnik/blob/queryMany-batch/src/mapnik_vector_tile.cpp#L1006-L1010). Do you think this is the best way to handle no data found requests?
* What is the timeline on mapnik 3.x? Ideally this could happen sooner rather than later, could a small release happen prior to 3.x?
* I'm probably missing some things, happy to hit anything else you see that needs to be updated/fixed

cc @yhahn