update headers
Allow (||*) and (&&*) to short-circuit

AccelerateHS/accelerate#187
rewrite the interpreter (1)

Do away with the old Delayed representation, which simplifies the implementation of each operation. This first step does not yet use the trafo optimisation infrastructure.
rewrite the interpreter (2)

add support for producer/producer fusion
rewrite the interpreter (3)

Now includes support for producer/consumer fusion. The core array evaluation loop has been specialised to DelayedOpenAcc, but in exchange the primitive operations can explicitly declare whether they expect a delayed/manifest array form, _without_ requiring a sum data type to represent these arrays.