support for going through a list by index

i.e. foo.bar.baz.[0].buzz

grammar isn't defined yet, as it's only useful internally so far