Add `equals` function to `Property` interface and implement it in all properties.

Still need to write specs.
Add a few specs.
Add specs for remaining Property.equals implementations.

Also fix a few issues which the specs uncovered.
Merge branch 'property-equals' into dynamicPolygon-geometry

Conflicts:
	Source/DynamicScene/ColorMaterialProperty.js
	Source/DynamicScene/CompositeMaterialProperty.js
	Source/DynamicScene/CompositePositionProperty.js
	Source/DynamicScene/CompositeProperty.js
	Source/DynamicScene/ConstantPositionProperty.js
	Source/DynamicScene/ConstantProperty.js
	Source/DynamicScene/GridMaterialProperty.js
	Source/DynamicScene/ImageMaterialProperty.js
	Source/DynamicScene/PositionProperty.js
	Source/DynamicScene/Property.js
	Source/DynamicScene/ReferenceProperty.js
	Source/DynamicScene/SampledPositionProperty.js
	Source/DynamicScene/SampledProperty.js
	Source/DynamicScene/TimeIntervalCollectionPositionProperty.js
	Source/DynamicScene/TimeIntervalCollectionProperty.js