Add a makeClassy_ lens builder

`makeClassy_` makes lenses and traversals for a type, and create a class when
 the type has no arguments.  Works the same as 'makeClassy' except that:

  - it expects that record field names do not begin with an underscore
  - all record fields are made into lenses
  - the resulting lens is prefixed with an underscore.