foreach multiple indices through the pform.
foreach loops around static arrays

Arrays with static dimensions can be handled specially.
This also allows for arbitrary numbers of dimensions.
Handle arrays of class objects.

This goes all the way down to the vvp level, where we create support
for arrays of objects, generate the new code in the -tvvp code
generator, and elaborate the arrays in the first place.
Fix the %qpop/f instruction detection.
Debug messages.
Class definitions may reference class types in containing scopes.

We need the scope where the class is defined so that it can find
types in that containing scope. Note that most definitions cannot
escape into the the lexical scope of the class, but some can.
Some support for unpacked arrays in class properties.
Handle nil queue as a was to delete a queue.

Treat this like assigning null to a dynamic array. This deletes the
queue and thus has the effect of clearing it.
Handle foreach array name as class property.
Handle elaboration of class properties referenced within sub-scopes.
Emit class definitions after ALL scopes are scanned.
Ability to compare arbitrary class-valued expression to nil.
Sorry messages for property arrays.
Merge branch 'x-mil15'