Clean up and centralize loading logic for data sources.
Add CallbackProperty for lazy evaluation

Sometimes you need to generate DataSource information on the fly, which
isn't possible without implementing a customer Property instance. This
new object makes it easy to create custom properties via a callback function.
For example, you could have a label that dynamically changes with the
height of an Entity or range to another POI.

The only place we use this outselves right now is in GeoJsonDataSource
to prevent building a bunch of string up front; which provides a large
performance boost during load.

I also fixed a minor comment typo I found in several places.
Update CHANGES.md
Merge remote-tracking branch 'origin/master' into callbackProperty

Conflicts:
	CHANGES.md
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
Merge pull request #2281 from AnalyticalGraphicsInc/callbackProperty

Add CallbackProperty for lazy evaluation
Squash merge of pull #2143, camera.tilt.

Squashed commit of the following:

commit 127cd16027d695b3a87ea62c4f78aadfb4861aed
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Tue Nov 18 14:23:32 2014 -0500

    Remove roll.

commit 03c15877859c2df2b34ca7d55d968652268ede8a
Merge: 1db236f 22537df
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Tue Nov 18 14:16:51 2014 -0500

    Merge branch 'master' into tilt

    Conflicts:
    	CHANGES.md

commit 1db236f21c15ea8d5cbc4418083d8e014d53fd82
Author: Ed Mackey <elm19087@gmail.com>
Date:   Tue Oct 21 15:44:31 2014 -0400

    Added some hacking from a session with @bagnell.

commit a190e2486427130d74ab6102857228eed3729fdb
Merge: bcbac18 f10cdbc
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Thu Oct 16 13:57:24 2014 -0400

    Merge branch 'master' into tilt

    Conflicts:
    	CHANGES.md

commit bcbac18519c904c8f39ebf7980036c467c57282c
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Wed Oct 15 14:00:04 2014 -0400

    Check direction alignment with local z.

commit 0e36f299f1c16b96fc976a723252b0622dc5c95f
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Tue Oct 14 16:18:04 2014 -0400

    Fix roll add tests.

commit b85ee58401ff31b981149a8613e19bb477fdb2a2
Merge: 7213a27 8abc4e3
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Tue Oct 14 15:26:07 2014 -0400

    Merge branch 'master' into tilt

commit 7213a27fe5d7377e0546c05e7d8f116be87590df
Merge: 41e6541 64bad3c
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Mon Sep 29 15:26:32 2014 -0400

    Merge branch 'master' into tilt

    Conflicts:
    	CHANGES.md

commit 41e65419aeb4677f7b5e814f260ce099a2120658
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Mon Sep 29 15:24:54 2014 -0400

    Clamp tilt to [-pi / 2, pi/ 2] and add Camera.roll.

commit 2d2d28ae27870bdc0a665c9f5e58af113d8b3748
Merge: db959a8 8aca1b4
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Tue Sep 23 11:35:54 2014 -0400

    Merge branch 'master' into tilt

    Conflicts:
    	CHANGES.md

commit db959a83fa2108a6f830df9889dc6433d91dce00
Author: Dan Bagnell <daniel.p.bagnell@gmail.com>
Date:   Mon Sep 22 14:22:49 2014 -0400

    Removed clamp of Camera.tilt to [0, pi / 2].
Merge master to reprojectFun