Implement fmap/coerce rules

Implement fmap/coerce rules for Map, Sequence, and Tree. One concern:
unfortunately, implementing the RULES forces the LANGUAGE to be turned
from Safe to Trustworthy.  This is rather sad. An alternative would be
to do this in another module, but orphan rules are not so lovely either.
Merge pull request #66 from treeowl/seqfmapcoerce

Implement fmap/coerce rules