Added ProductClassShape to allow mapping to classes extending Product
such as Scala 2.11 case classes.