Change type tags to a trait holding the tag, as this works better than a type member for implicit search
Add test that tagged-types search the tag's implicit scope
type class abstracting over type classes
adapt `Monoid` example to use new `TypeClass` machinery
Add map method to NatTRel

Signature:

    trait NatTRel[L1 <: HList, F1[_], L2 <: HList, F2[_]] {
      def map(nt: F1 ~> F2, fa: L1): L2
    }

Allows mapping over HLists which have a consistent type constructor
structure with a natural transformation. For example, we can map from:

    Option[Int] :: Option[Boolean] :: Option[String] :: Option[Nothing] :: HNil

To:

    List[Int] :: List[Boolean] :: List[String] :: List[Nothing] :: HNil

Also delete problematic cases from NatTRel where Const occured on left
hand side. Doesn't seem to make sense when calculating the right hand
side's type.

Code reviewed by @milessabin
Merge pull request #20 from benhutchison/master

	 Change type tags to a trait
Merge pull request #22 from pufuwozu/master

Add map method to NatTRel
Merge remote-tracking branch 'larsh/topic/typeclass'
Disabled a couple of tests which are problem with the current 2.11.0-SNAPSHOT.
Release notes and documentation and contributor updates for 1.2.4.
Bumped version to 1.2.5-SNAPSHOT.
renamed HListIso => HList in readme.md
Fixed up docs to use Iso.hlist correctly :)
Merge pull request #23 from kevinwright/master

Renaming HListIso to Iso in the readme
Added type class for normalizing subtypes of a given type in an HList to that type.
Added test for Normalizer.
Avoid creating unexpected FilterAux instances.
Changed name of subtype unifier type class.
Merge pull request #24 from travisbrown/master

New subtype unifier type class
Updated.