Add node quirk support

This pull request series adds support for setting and using per-node quirks.

Right now, the core treats quirks as opaque strings.