Deduplicate module version creation code
Each of the module version upload API endpoints contain something similar to:
previous_version_published = module_version.prepare_module()
with terrareg.module_extractor.GitModuleExtractor(module_version=module_version) as me:
me.process_upload()
if previous_version_published:
module_version.publish()
This should be deduplicated into a function. There is no interaction between the ModuleVersion model and the Extraction classes - should the functionality be within the extractor methods?