Simplified CircularConvolution

We're no longer bypassing product.A and product.B.
This involved some rearranging of CircularConvolution
to attempt to make it more understandable.

Shoutout to @hunse for fixing the circularconv transforms test.
EnsembleArray kwarg dimensions -> ens_dimensions

To help differentiate it from the `dimensions` property.