Call the NamedGetter method from the get trap in proxy bindings.
Use the custom defineProperty trap when it exists.
Correct the generated code for NamedSetter calls.
Factor out the name handling in Element::{Get,Set,Remove}Attribute.
Implement Element::set_custom_attribute.
Implement HTMLElement.dataset (fixes #2974).
Implement dummy getOwnPropertyNames and enumerate traps.
auto merge of #4467 : servo/servo/dataset, r=Ms2ger