EZC: fix proxying in zBoxAndProxy()

* Don't proxy arrays that are already proxies, that's inefficient
* Make a copy of the inner array prior to proxying it. It's necessary to
  copy arrays to provide the necessary semantics, and it was previously
  done in ZArrVal, but ZArrVal only has access to proxy arrays, and it
  is difficult for an external caller to tell whether the inner array
  has refs.
* Make copies of static arrays, as well as ones with multiple refs.
  Modifying static arrays is not polite -- added test case which
  previously failed.