MDL-39177 Discard file origin when moving/renaming a file in filemanager

Created one function that handles file update to be used from both JS and nonJS filepicker
MDL-39177 Update file in filearea only if original is present

Now when file was deleted in filemanager and new file with the same file was uploaded the references will be converted to copies exactly like UI warns in filemanager.
Also do not delete original information from draftfiles.
MDL-39177 Remove code duplication
MDL-39177 Perform all checks on draftfile area before saving the files
MDL-39177 Ensure files are overwritten correctly on unzip
MDL-39177 New function file_storage::get_unused_dirname()
MDL-39177 More comments about confusing files.source field
Automatically generated installer lang files
MDL-39728 List all the classes in question/type/questionbase.php

This should make it easier for people to understand the type hierarchy.
Automatically generated installer lang files
MDL-30320 question engine: remove API deprectaed in Moodle 2.2.
MDL-27748 question: grade options should be localised.

question_bank::fraction_options should use format_float to display
decimal pionts correctly.
MDL-39719 course: Pointing to wrong category string in requests
Merge branch 'MDL-38369-master' of git://github.com/FMCorz/moodle
Merge branch 'MDL-39198_master' of git://github.com/kordan/moodle
Merge branch 'MDL-39630_master' of git://github.com/lazydaisy/moodle
Merge branch 'MDL-39528_master' of git://github.com/dmonllao/moodle
MDL-39177 Updating userid when file is overwritten
Merge branch 'MDL-39363-master' of git://github.com/ankitagarwal/moodle
Merge branch 'wip-MDL-36020-master' of git://github.com/troylee/moodle