abstract CRUD functionality into base class

partial work on product
some logging that will need to go later
merge from upstream, fix conflict
fix it for reals
ProductResource working but not very RESTful
add crud support and tests for productversion
handle update to product without productversions
fix the 204 error
validate input for ProductResource.obj_create

* update some doc strings
* add test cases for invalid ProductResource.obj_create input
exclude logging from coverage

changes pursuant to review comments
remove .coverage
add .coverage to .gitignore
throw 400 errors rather than 500 errors
Merge pull request #12 from klrmn/api_product

OK, this is merged!  Nice work!