Improve Foldable methods

Define foldMap for Seq directly, instead of relying on the default
based on foldr.

Define length and null for ViewR directly, instead of relying on
(inappropriate) defaults.
Merge pull request #68 from treeowl/foldmapseq

Improve Foldable methods
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