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.
Well, no more than 10 errors will be found, but that's not a big deal. It just shows that the file is massively fucked-up.

Actually, the reason I set max 10 was that if too many errors are found, then the resulting URL with query parameters will be too long, and failure ensues. Keeping it at 10 avoids that.