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
Merge branch 'master' into dynamicScene-es5-properties
Ongoing CompositeDynamicObjectCollection work.
Ongoing CompositeDynamicObjectCollection work.
Get all existing CompositeDynamicObjectCollection specs passing.
Start adding ES5 properties to remaining dynamic objects.
Finish refactoring merge for all dynamic objects.

Get all tests to pass.
Ongoing property work.
Rename function to match module.
Merge branch 'master' into dynamicScene-es5-properties