Piraha lookup ref issue

Issue #2829 new
Steven R. Brandt created an issue

Flesh: Currently, lookup_var returns a reference to the value of a var. When a unop is called, this has the effect of negating the value in the table. Thus:

    $zip = 1
    foo::xmin = -$zip
    foo::xmax =  $zip

This results in both xmin and xmax being set to the same value (-1). The fix is to have lookup_var return a copy rather than a reference.