Refactor product duplication

CodeClimate didn't like Spree::Product#duplicate, so I performed [Extract Class](http://www.refactoring.com/catalog/extractClass.html)

https://codeclimate.com/github/spree/spree/Spree::Product