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.
pickImageryLayerFeatures specs, and fix typo.
Add specs for Globe.pickImageryLayerFeatures.
Handle ServiceExceptions by reporting "No Features".
Update CHANGES.md.
Fix jshint warning.
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.
Misc fixes to sample code.
Add WMS Sandcastle example.
Add WMS constructor option to disable pickFeatures.