ddc-core-flow: convert: add Nat# arg to readPtr#
It's a bit much to require anybody who uses ddc to have an ILP solver.
(At least, until we have a pure Haskell ILP solver)
So I have implemented a simple, greedy clustering algorithm that will suffice most
of the time. It's based on the idea Clemens Grelck told me at FHPC:
first, greedily fuse vertically, then perform any horizontal fusion.
This actually works very well.

To enable ILP-based clustering, simply add
> DDC_FLOW_USE_LINEAR_SOLVER = 1
to your make/config-override.mk. Make sure you have limp-cbc installed.
If switching between the two, you may find you need to touch these
files:
    packages/ddc-core-flow/DDC/Core/Flow/Transform/Rates/Clusters/Linear.hs
    packages/ddc-core-flow/DDC/Core/Flow/Transform/Rates/Clusters.hs