Begin EcmaScript 5 refactoring for DynamicScene

1. Refactor DynamicBillboard to use ES5 properties and raise property changed events.
2. Refactor DynamicObjectCollection to improve the API and event notification.

CompositeDynamicObjectCollection is busted until it is also refactored.
Merge branch 'dynamicScene-properties' into dynamicScene-es5-properties
Merge branch 'dynamicScene-properties' into dynamicScene-es5-properties
Start refactoring CompositeDynamicObjectCollection

This also involves refactoring DynamicObject to generate proeprty notifications.
Merge branch 'dynamicScene-properties' into dynamicScene-es5-properties
Ongoing refactoring.
Ongoing CompositeDynamicObjectCollection refactor.
Merge branch 'master' into dynamicScene-es5-properties
Merge remote-tracking branch 'origin/issue1094' into dynamicScene-es5-properties
Merge branch 'master' into dynamicScene-es5-properties
Merge branch 'master' into dynamicScene-es5-properties
Removed Cartesian2.prototype.add
Removed prototype.add for Cartesian3/4
Fixed specs to work with Cartesian2.add
Merge branch 'master' into dynamicScene-es5-properties
Ongoing CompositeDynamicObjectCollection work.
Updates to work with Cartesian2/3/4 without prototype add/subtract
Fixed Occluder
Fixed CameraController
Finished updating Cartesian2/3/4