ibm-js/delite — pull request #355 by wkeese (2014-12-30 21:29:01+00:00)
Title: Implement attributeChangedCallback(), fixes #343.

I read http://w3c.github.io/webcomponents/spec/custom/#dfn-enqueue-lifecycle-callback, but the spec is unclear to me. What are the arguments to the attributeChangedCallback() method? The spec mentions namespaces but isn't specific, so I followed Polymer's format of

```
attributeChanged: function(attrName, oldVal, newVal)
```

except that I called it attributeChangedCallback to match http://w3c.github.io/webcomponents/spec/custom/#dfn-enqueue-lifecycle-callback.

Some other minor points:

* Sync or async? I did sync.
* When there's no old value or new value, should it pass null or undefined? I did null.
* When should the method be called in relation to the attribute's value actually being changed? I am calling it after the value has been changed. The spec talks about element queues but it's quite confusing.