Implement map/coerce for IntMap

I realized what I was doing with MIN_VERSION was kind of silly.
The easy/sane thing to do is really to use __GLASGOW_HASKELL__
for the coercion stuff.
Optimize *> and >> for Seq

Based on a discussion with Ross Paterson, use a multiplication-
by-doubling algorithm to improve asymptotic time and space
performance.
Merge pull request #71 from treeowl/fmapcoerceintmap

Implement map/coerce for IntMap
Merge pull request #72 from treeowl/then

Optimize *> and >> for Seq