Updating attributeChangedCallback support to include new value.

Currently it only passes the attribute name and the old value, but the spec has it also passing the new value.

See: https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/custom/index.html#dfn-attribute-changed-callback

Also ensuring that remove passes null as the new value, rather than undefined.