resolves #498 permit !name syntax for undefining attribute

- remove unused attribute matching regular expressions
- normalize negated attributes before processing other assignments
- improved attribute tests
Merge pull request #499 from mojavelinux/bang-before-attribute-name

resolves #498 permit !name syntax for undefining attribute