Recognise identifiers in LongIdentWithDots

All the idents in a LongIdentWithDots are potentially usages, i.e.
self.x

All the idents in a LongIdentWithDots are potentially declarations i.e.
member self.x = 1

It may be necessary to only do this for LongIdentWithDots of lengths 2
Remove a TODO
Member definitions in classes have nested scopes
Improve support for classes

Identifiers declared in implicit constructor, and proper nesting
Revert the changes for LongIdentWithDots

Only want special behaviour for the self identifier
Handle self identifier properly