Hillis-Steele algorithm.
end spec
comment out endspec for the moment
nooverflow syntax and define number of elements N in spec
prepare for abstract-add
Move dtype/rtype into #defs
Abstract add first cut
Remove unused __byte_offset macro
Use #defines for N, dtype, rtype and abstract/concrete add.

Relies on some nasty macro-preprocessing, but means we can avoid changing
sourcecode when we want to do parameter changes.
Merge abstract and concrete kernels.

Use #define parameters to choose.
Remove abstract-kernel.cl
pseudo-modularisation using #defs... must stop abusing the cpreprocessor...