Fix case where compiled expr function returns a TclObj (when the final function
invocation was a script_op, scalar_op or array_op).
Reworked the script compiler to handle constant tokens / words