Issue #9 - Prohibit whitespace around member access

These are supposed to generated errors because of the whitespace (and now they do)

```
[int]     ::MaxValue     # ERROR
$x     .Foo()            # ERROR
$x     [2]               # ERROR
```

I'm not closing Issue #9 because of some additional issues around `generic_token`. This is more complex than I understand right now.