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.