Co-dfns support for very large arrays!

Previously, Co-dfns could only support ranks <= 4. Now, the architecture supports arbitrarily large array sizes, though this is only partially used in various primitives. See the release notes for more details. However, this is a bigger deal than it might seem, as it opens up a number of new features for implementation that were previously not possible, and paves the way for reducing the size of the runtime greatly, and reducing the C/C++ footprint of the whole system to a bare minimum.