Reject refined types by generation macro

The generation macro statically attempts to infer a matching
implicit pickler, and reports an error if unsuccessful.

Pickling refined types requires custom (implicit) picklers.
Merge pull request #216 from scala/refined-types-2

Reject refined types by generation macro