allow script-based overrides of experiment_salt

It is sometimes desirable to have the PlanOut scripts themselves set
the experiment-level salt.  We add this by making a small change to the
Set() operator.

This also includes a change to the compiler to make it backwards
compatible with the original, C-based implementation of the compiler.