Clean up and centralize loading logic for data sources.
WMTS cleanup

This is some cleanup to some stuff I noticed while reviewing #2275.

1. The WMTS provider is always `ready`, so remove the uneeded if checks and variable.
2. Add spec for WMTS url generation code.
3. Add @relet as a contributor.
4. Update changes (which I forgot to mention in #2275).
Merge remote-tracking branch 'origin/master' into wmts-cleanup

Conflicts:
	CONTRIBUTORS.md
Merge pull request #2282 from AnalyticalGraphicsInc/wmts-cleanup

WebMapTileServiceImageryProvider cleanup
Fix initial geometry outline color.
Remove need to explicitely set depthTest for geometry outlines.

We already compute the correct value automatically in `Appearance.getDefaultRenderState`. This change updates `Appearance.getDefaultRenderState` to apply unset defaults to the specified user options and remove the explicit settings throughout the code.
Merge pull request #2284 from AnalyticalGraphicsInc/outline-cleanup

Remove need to explicitely set depthTest for geometry outlines.
Merge remote-tracking branch 'origin/master' into dataSource-setLoading
Merge pull request #2264 from AnalyticalGraphicsInc/dataSource-setLoading

Clean up and centralize loading logic for data sources.
Merge remote-tracking branch 'origin/master' into callbackProperty