MDL-37148 Assignment: Lots more webservices

This patch adds lots of webservices to the assignment module.
* mod_assign_revert_submissions_to_draft
* mod_assign_lock_submissions
* mod_assign_unlock_submissions
* mod_assign_save_submission
* mod_assign_submit_for_grading
* mod_assign_save_grade
* mod_assign_save_user_extensions
* mod_assign_reveal_identities
* mod_assign_copy_previous_attempt

All features such as reopening attempts and marking workflow are supported through
the save_grade and save_submission functions.

Uploading files is supported by sending draft item ids for the files_filemanager param the same functions.