Add AssociativeArray and specs.

This is a new Core class created as part of the `dynamicScene-refactor` branch that I'm bringing in ahead of time to make the pull request simpler.