Generalize Map encode/decode for all Map subtypes.

This let's us get encoders/decoders for SortedMap too, which is useful
when you are pretty printing with a format that preserves field order.
Add specifiction for encoding/decoding SortedMap.
Remove commented code.
Merge pull request #146 from tixxit/topic/map-like-encoder-decoder

Topic/map like encoder decoder