DRY up uploader row classes

Lots of duplication across these and their tests. I've extracted the
most common features to the base clase to DRY things up.
Importer now supports CaseStudy imports