Improve importer's file loading

* Add new `LOADING` status for import events
* Show running count as rows are loaded
* Bulk create blocks of row objects (and remove subclass-specific `create_row`)
* Remove `transaction.atomic` on `tasks._create_rows_for_event` and remove rows manually if csv load fails

Also, refactor and simplify file-level validation
* Only `tasks._create_rows_for_event` deals with file-level validation
* Don't read rows if header has errors
* Move "empty file" check from `validate_main_file` to `tasks._create_rows_for_event`
* Rename `validate_main_file` to `validate_field_names`
* Subclasses now override `legal_and_required_fields()` instead of `validate_main_file`

Other refactoring and cleanup
* Add `GenericImportEvent.row_count` property
* Remove unused field `GenericImportEvent.committed`