try to implemenet backpermute in the interpreter

Why can't we abstract function application into an 'evalF1', rather than do the surrounding packing and unpacking manually every time?

I attempted to do this, but found that everything is broken and inconsistent (for example see mapArray vs. handling of zipWith / generate), so eventually I gave up.
some backpermute tests pass now