Refactor decoders.

Each specific link type decoder is now in its own module. This lets us
avoid having a giant transform file.
Refactor extractors separately as well.