Document module header.

Fixes Haddock Trac #270.
Insert a space between module link and description

Fixes Haddock Trac #277.
Ensure a space between type signature and ‘Source’

This is briefly related to Haddock Trac #249 and employs effectively the
suggested fix _but_ it doesn't actually fix the reported issue. This
commit simply makes copying the full line a bit less of a pain.
Add support for type/data families

This adds support for type/data families with their respective
instances, as well as closed type families and associated type/data
families.