ToTraversable[HNil, M[_], T] with T not Nothing
ToSized[HNil, M[_], T] with T not Nothing
Merge pull request #235 from alexarchambault/totraversablehnilfix

ToTraversable[HNil, M[_], T] with T not Nothing
Merge pull request #236 from alexarchambault/tosizedhnilfix

ToSized[HNil, M[_], T] with T not Nothing
Record/union refactoring and enhancements.

* Reworked Record/UnionType as Record/Union.`...`.T.
* Factored out Record/Union commonality into Labelled.
* Renamed shapeless.ops.hlist.Union to ToCoproduct.
* Added shapeless.ops.coproduct.ToHList.
* Added Record/Union named args constructor.
* Added record merge.
* Added general support for implementing named args method in terms of
  records via RecordArgs trait.
Added Typeable instances for singleton types.
hlist ops implicit not found comments
imported implicitNotFound
Added @nonGeneric annotation to exclude definitions from Generic representation/use.
Added RecordArgs support for empty argument lists.
Case classes a la carte.
Merge remote-tracking branch 'github/pr/239'