Added documentation for Mappings

Refactored the convenience ctor out of ProductName data contract so that
the implementation could be more easily seen inline in the Mapping class