Revert "removed catOptsProxy"

The reason for removing the catOptsProxy was that the new CatOpts
lenses have restricted types, so we don't run into the problems with
type inference that you get when doing record updates.  However, for
this release at least, we want to offer users the upgrade path of
simply sticking underscores on their record labels and continuing to
do record updates, so we still need the proxy, otherwise users' code
will break.

This reverts commit caf79c8f25bfd9e12dc1b2766a663246a81ca1a3.
D.Combinators: clean up exports and documentation re: catOptsProxy
D.Parametric.Adjust: add a module comment
D.Combinators: more cleanup re: CatOpts lenses
reinstate adjOptsvProxy, and clean up lens generation

See @f4285ce for an explanation.
depend on tagged for Proxy