created survey model and csv importer feature

currently has no error handling for failed csv uploads and requires exact column mappings