Miscellaneous improvements

- Various improvements to `Interval`:
 - Made the constructor `I` strict for better performance.
 - Added `ival'` and `ispan`.
 - corrected `Show` instance to always produce valid Haskell code.
 - added valid `Read` instance in correspondence with the new `Show` instance.
 - added `Bounded` instance.
- Implemented `encodeFloat` and `decodeFloat` (such as they are) for `Dif`.