First Pass at a new suffixed structure. 

@Dunbaratu take a look and see what you think. This is still a little sketchy but i wanted you to see where i was going
The OpcodeGetMember.Execute() method will need to be changed to detect if the result of the GetSuffix is a delegate, and if it is then it needs to shunt over into calling the delegate, getting ITS return value, and putting that on the stack - edit OpcodeGetMember to do this to handle methods that take zero args and return a value so they can be called as functions with () or as suffixes without ().