Getter/setter optimizations
Update traversal functions to take functions as well as selectors
Add more attribute and property tests