Removed bogus Coproduct refinement.
Use fundep materialization. Minor cleanups. Fixes #106. Fixes #108.
Extend DepFnN for some HList ops

For the sake of consistency with the majority of the other HList Ops
type classes
Merge pull request #167 from ceedubs/extend-depfn

Extend DepFnN for some HList ops

This looks like a totally unobjectionable change to me. Hope I'm not overstepping my authority (obligatory: mwhaahah) in merging this.
Add return type to apply methods, changed some to use Aux
Merge pull request #175 from stacycurl/apply-aux

Add return type to apply methods, changed some to use Aux
Common assertTypedEquals and assertTypedSame

They are now in a common `testutil` object instead of being implemented
in multiple files.

First suggested in
https://github.com/milessabin/shapeless/pull/165#issuecomment-48813493
Merge pull request #176 from ceedubs/testutil

Common assertTypedEquals and assertTypedSame

LFTM. There's an assortment of other assertion methods around, maybe they could be moved to testutil too.
Adding patch to HList
Adding patch to tuples, fixing impl in hlists, unit tests passing
More unit tests and documentation