Implement the . attribute access DSL

This fixes #399
Add tests for the attribute access DSL
Add documentation for the attribute access DSL