default Field methods for Generic instances

Contained are default method implementations for the various `Field` type classes when the particular instance is also an instance of `Generic` and the `Generic` `Rep` is made up of only `U1`, `K1`, `M1`, and `(:*:)`.  Many language extensions are required, in particular `DataKinds`.  It would not be very difficult to remove the `DataKinds` requirement, if desired.