wibbles
change Iterate to have the trip count as an Exp Int
Revert "trafo: strictify many things"

This reverts commit 8d71e24037c540efbaaec4b356fd0a17e0d1d7a8.

Conflicts:
	Data/Array/Accelerate/Trafo/Algebra.hs
	Data/Array/Accelerate/Trafo/Simplify.hs
	Data/Array/Accelerate/Trafo/Substitution.hs
shrink after simplification
reorganise the sharing recovery module

Split into top-level functions that handle array and scalar conversion and sharing observation. This permits a separate function to convert (closed) scalar expressions to de Bruijn form, so the show instances now reflect the computation with sharing and simplification.
silly bugfix
cleanup, add support for hashable-1.2

fixes: AccelerateHS/Accelerate#72
can only convert scalar expressions without free array variables
wibbles