Start work on converting vec4 expressions to use stack.

Instead of using a bit4 space to hold thread vectors, create a
vec4 stack--much like the real, string, and object stacks--to
hold intermediate values.
Handle vec4 stack version of concatenation.
Redesign support for system functions that return vec4

Redsign the handling of the return value, including a rework of
the %vpi_func syntax to carry the needed information.

Add a few more arithmetic operator instructions.
Handle vec4 part selects / vec4 cassign / repeat statements

These features need to be adapted to the vec4 stack.
vec4 cassign to part selects.
Add vec4 support for bitwise or/nor/nand/xor/xnor.
vec4 support for ufuncs and ligical AND.
Vec4 store to memories.

This also reworks the working of the %store/vec4 instruction to
take a part offset, and eliminate the %store/vec4/off instruction.
Implement vec4 basec %assign delay and event / vpiTimeVal for functions.
Add the %event instruction, remove %ix/get and %ix/get/s.
vec4 versions of a bunch of unary operators.
vec4 string literal expressions
get vpiStringVal from vec4 stack positions.
Fix sort of %event command in vvp compile list.

The sort is important, the names must be sorted because the table is
searched using binary search.
Update %div instruction to vec4 version.
Update %pow instructions to use vec4 stack.
Implement some vpi_get_value formats for vec4 stack values.
Compile out the T<...> format in vvp.

This ifdef's the code out. Leave it in place for a little longer
for reference.
Fix some subtle code generator bugs with wide literals and large r-values.
Wrap up vecc4 support for left/right shift expressions.