Async picking of rasterized features in imagery layers.

For example, by using the WMS GetFeatureInfo service.
Show position of selected feature.
If feature position is not known, use pick location.
Merge remote-tracking branch 'origin/master' into imageryLayerPicking
Add support for MapInfo GetFeatureInfo.
Add support for Esri WMS servers.
Add support for unknown GetFeatureInfo responses.
Give user control over GetFeatureInfo format.

Also add specs WebMapServiceImageryProvider.pickFeatures.
Add pickFeatures as an optional function on ImageryProvider.
Simplify layer feature picking and improve doc.
Matrix4 - Fix many sample code problems.
Occluder - fixes for sample code.
pickImageryLayerFeatures specs, and fix typo.
Add specs for Globe.pickImageryLayerFeatures.
Handle ServiceExceptions by reporting "No Features".
Update CHANGES.md.
Fix jshint warning.
Display better error messages from node server.js

Also, the "server running" message was being displayed too early.
Improvements to WebMapServiceImageryProvider

Allow user to specify tile width and height, minimum level, and tiling
scheme.  When the tiling scheme is WebMercatorTilingScheme, tiles are
requested in EPSG:3857 instead of EPSG:4326.

Also changed the `rectangle` constructor parameter to affect only the
provider's rectangle, not the tiling scheme's rectangle.  This means that
provider's with a limited extent will still have tiles that line up with
the terrain tiles (assuming GeographicProjection), which will result in
better performance.  It's possible to get the old behavior just by
constructing and passing a tiling scheme with limited extent to the
constructor.
Update CHANGES.md.