Flatten test structure, remove test for removed fn. Fixes #868
Push style JSON loading into Style constructor

This is consistent with the Source constructor, and makes
it so that Map#setStyle can accept a URL.
Migrate source APIs to Style

Move addSource/removeSource to Style and makes the style object
the single truth for the set of sources. Extend the convention
of forwarding events up the tile->source->style->map hierarchy.

Fixes #864
Normalize source/style/tile eventing

* Add "load" and "error" events
* Always fire "load" asynchronously (don't release Zalgo)
* Forward all events up the tile⇢source⇢style⇢map hierarchy
* Add source/style properties to forwarded events
Test that setStyle can be called more than once (#864)
Fire tile.error events
Normalize sprite events
GeoJSON on steroids (using geojson-vt)

Fixes #464
Fixes #670
Fixes #694
cleanup and fix tests after GeoJSON upgrade
fix case with no url in TileJSON
fix GeoJSON not visible on initial load
Merge pull request #872 from mapbox/geojson-vt

GeoJSON on steroids (using geojson-vt)
Fire error event for GeoJSON parse errors
Update vector-tile to 0.1.3 (fixes #861)
fix garbled glyph atlas regression
this.sources -> this.style.sources, fixes #880
preprocess class styles in cascade