Refactor how testing the simple interp is done
WIP: adding instances for interpreter backedn
Checking this in as a point of interest.  Merely turning on TypeFamilies (and changing
nothing else) causes the following two type errors under GHC 7.8.2:

    [37 of 41] Compiling Data.Array.Accelerate.BackendKit.IRs.SimpleAcc.Interpreter ( Data/Array/Accelerate/BackendKit/IRs/SimpleAcc/Interpreter.hs, dist/build/Data/Array/Accelerate/BackendKit/IRs/SimpleAcc/Interpreter.o )
    Data/Array/Accelerate/BackendKit/IRs/SimpleAcc/Interpreter.hs:345:46:
     Couldn't match type ‘Const’ with ‘Value’
     Expected type: [Value]
       Actual type: [Const]
     In the second argument of ‘($)’, namely ‘slice ls’
     In the expression: tupleVal $ slice ls

    Data/Array/Accelerate/BackendKit/IRs/SimpleAcc/Interpreter.hs:345:52:
     Couldn't match type ‘Value’ with ‘Const’
     Expected type: [Const]
       Actual type: [Value]
     In the first argument of ‘slice’, namely ‘ls’
     In the second argument of ‘($)’, namely ‘slice ls’
One type signature fixed the problem