Resolves #268 with overhaul of VisitSuffix().

The heirarchy of functions versus arrays versus flat terms
has been entirely flattened now, allowing constructs
like aaa:bbb()[]:ccc to parse flawlessly and with no
favoritism toward which has to come first.  you can
have a function returning an array, or an array of functions,
or whatever, supported by the syntax now.

Contains several changes that needed to be regression
tested.  The new format is cleaner than the old, but
different enough that many things had to be revisited
and checked.