Require result parameter for JulianDate functions

1. Does not require a parameter for `fromXXX` and `clone`. (because that seems to be the pattern we are going with)
2. Used scratch parameters in places where it was easy to add.
3. I didn't try to optimize the Timeline widget since it's getting rewritten anyway.
Update CHANGES.md
Add FeatureDetection.hardwareConcurrency

Chrome Canary recently added `navigator.hardwareConcurrency` which exposes the number of physical cores on the client.  This is a simple change to expose that value (or a default if not defined) on `FeatureDetection`.

I chose 3 as the fallback because according to Steam's hardware survey (http://store.steampowered.com/hwsurvey/) (2 cpus 47.26% 4 cpus 44.94%)

This will be handy when we do #1437 (probably post 1.0), but is useful immediately for `Primitive` creation.
Fix DynamicPathVisualizer handling of ReferenceProperty

`DynamicPathVisualizer` was relying on a hidden `_referenceFrame` property on position objects.  This is not the case with `ReferenceProperty`.  This changes it to use the public API.

Also, the subsampling code for paths was not unwrapping `ReferenceProperty` instances, causing it to fallback to generic sub-optimal sampling.  This addresses that as well and adds tests to verify it.
`@Type` -> `@type`
Merge pull request #1835 from AnalyticalGraphicsInc/dynamicPath-referenceProperty

Fix DynamicPathVisualizer handling of ReferenceProperty
Merge remote-tracking branch 'origin/master' into julianDate-require-result

Conflicts:
	Specs/DynamicScene/DynamicPathVisualizerSpec.js
Merge pull request #1834 from AnalyticalGraphicsInc/hardwareConcurrency

Add FeatureDetection.hardwareConcurrency
Merge pull request #1828 from AnalyticalGraphicsInc/julianDate-require-result

Require result parameter for JulianDate functions
Merge branch 'master' into camera-terrain