Add passing input domain to transport operator
Previously, the operator for a Transport class took the object being transported to the execution environment and the size of the output domain. This change also passes in the control-side argument for the input domain. This will help check input array sizes as well as make other potential transformations based on the input domain. This branch also includes some issues with array sizes that were found and fixed.
Ultimately I expect these changes to help implement a reduce by key worklet which will require permuting values based on the grouping of identical keys.