Merge pull request #17 from travisbrown/master

Cartesian product of HLists
Derive Ordering for an HList
Demonstrate HList Ordering derivation
Improve ordering example
Ordering for any type isomorphic to an HList with an Ordering
Merge pull request #18 from bmjames/hlist-ordering

Hlist Ordering derivation
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