require implicit *TypeClass instance at macro invocation point

Advantage: Macro won't get executed for `C[T]` when no `TypeClass[C]`
instance is in scope
update error message
Merge remote-tracking branch 'github/pr/88'
Merge branch 'master' into scala-2.11.x

Conflicts:
	core/src/main/scala/shapeless/generic.scala