validate partinfo & abstract usage; optimize templates

- validate that partinfo and abstract are used in proper location
- add tests for partinfo and abstract validations
- add argument to attr? & attr methods to look on node only
- don't look for style attribute on document
- template cleanups