Modularization of vector-tile-query

Refactor into one main function `queryTile` (that can be used alone), and two utility / helper functions.

#### `queryTile(<pbuf>, <tileInfo>, <queryPoints>, <pointIDs>, <options>, <callback>);`

Parses a Vector Tile protobuf and queries a layer for a a number of fields based on a series of lng, lat points

#### `loadTiles(<queryPoints>, <zoom>, <loadFunction>, <callback>)`

Given a set of `lng,lat` points and a zoom level, finds what tiles to load, loads these tiles asynchronously (using a predefined function), splits query `lng, lat`s out per tile, and assigns these a sequential ID (based on input order)

#### `multiQuery(dataArr,options,callback)`

Helper function to asynchronously query (using `queryTile` (given a set of "tile objects") and return sorted values (based on input order / input point ids).

More details in branch readme: https://github.com/mapbox/vector-tile-query/tree/vtile-query-new-module

cc: @rsudekum @yhahn