fix($parse): a chain of field accessors should use a single getterFn

I caused this in fbad2805703569058a4a860747b0e2d8aee36bdf :unamused:.  Essentially `(EXP).a.b.c` should have two nodes `(EXP)` and `.a.b.c`.  That commit refactored how `a.b.c` gets tokenized/parsed causing the nodes to be `(EXP)`, `.a`, `.b`, `.c`. This slowed down the field access benchmark ~20%.
This is because `fieldAccess` no longer directly invokes `setter` so the full expression can not be passed. This has happened a few times and always makes me think of adding a `fullExpression` param to `getterFn.assign`...