BUG/PERF: Avoid listifying in dispatch_to_extension_op
This simplifies dispatch_to_extension_op. The remaining logic is simply
unboxing Series / Indexes in favor of their underlying arrays. This forced
two additional changes

1. Move some logic that IntegerArray relied on down to the IntegerArray ops.
   Things like handling of 0-dim ndarrays was previously broken on IntegerArray
   ops, but work with Serires[IntegerArray]
2. Fix pandas handling of 1 ** NA for object dtype (used to construct expected).

closes https://github.com/pandas-dev/pandas/issues/22922
closes https://github.com/pandas-dev/pandas/issues/22022