Added upload of samples into existing project.

Added UploadSamplesMixin, and use it for HTML POST with /project/{projectid}/upload in ProjectUpload, and for API POST with /api/v1/project/{projectid} in ApiProject.

Got rid of obsolete upload.py file.
No. The logic is to first go through the entire file input, and find all errors in it. If there are any errors, display those (max 10) and do nothing more. If no errors, then actually add the samples.