Expose all attributes via properties so they can be statically introspected

Refs #1424
Merge pull request #1444 from alex/attributes-as-properties

Expose all attributes via properties so they can be statically introspected