Create AtomicPropertySetter.js

Sets the values on a group of properties atomically. None of the property listeners are called until the internal value of all the properties has been set.

The AtomicPropertySetter also provides a property which is changed once every time a set of properties is updated. This can be useful if you have a listener which is dependent on multiple properties, as it allows you to only trigger a the listener once for a set of properties being updated, rather than having it be triggered once for every property.