Remove the Type constraint from infoRange
Fold singleton ranges into literals

Fix for #27.
Widen the result of rangeRem to account for wrap-arounds.
Merge pull request #95 from pjonsson/misc-fixes

Minor polish
Improved printing of ranges
Haddock comment
Added optionM
Updated test cases to reflect new printing of ranges
Merge pull request #93 from pjonsson/fix-rangerem

Widen the result of rangeRem to account for signed wrap-arounds.
Improve the test suite to consistently provoke bug #81

The range propagation tests were rather poor in provoking
bugs. The bug in rem, documented in #81 went unnoticed for
several years. This commit fiddles with the generators to
have a distribution which is more likely to provoke bugs.
Add an (almost) untyped middle-end.
Add a couple of type signatures and remove an identity function.
Add Bits to PrimOps.
Add Sel to Primops.
Add Conversion to PrimOps.
Add Num and Ord to Primops.
Fix SourceInfo.
Add Logic to Primops.
Add Floating to Primops.
Remove unused includes.