Add #[privatize] to allow enforcing private fields for struct definitions
Simple privatizations
Privatize InheritTypes
Privatize Attr
Privatize Comment
Privatize DocumentType
Privatize EventTarget and EventListenerEntry
Privatize File
Privatize ProcessingInstruction
Privatize Document
Privatize Window
Privatize Node
Privatize Event
Privatize Element
auto merge of #3666 : ttaubert/servo/issue/3644-privatize-dom, r=Manishearth

This PR removes public fields from all (hope I didn't miss any) DOM structs. Should |Page| be privatized as well? This PR additionally introduces a #[privatize] lint to ensure nobody accidentally re-introduces a public field.

All changesets compile separately if applied in the same order. Hope that helps reviewing but I can of course squash them before merging.