derive-2.5.26: A program and library to derive instances for data types

Derivation for the Typeable class, as described in the Scrap Your Boilerplate papers. This derivation generates instances for all kinds of TypeableK classes; as such we do NOT require the GHC-specific generic downkinding instances to provide lower kind instances.
Also creates a typename_<the type name> value to hold the TypeRep.