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.