MDL-39864: First attempt to move badge criteria into a plugin

Language files within plugin directories not yet implemented.
Sort order on criteria.php page is still wrong.
MDL-39864: Fix criteria page sorting and incorrect language strings
MDL-39864: Start moving criteria plugin strings to separate files
MDL-39864: Migrate remaining criteria-specific strings to plugins
MDL-39864: Remove TODO.txt
MDL-39864: Remove lang strings re-added by bad rebase
MDL-39864: Update backup code to remove references to old constants
MDL-39864: Remove references to 'Learners' from lang strings
MDL-39864: Update config_form_criteria() to accept badge object
MDL-39864: Gracefully handle missing criteria types
MDL-39864: Add unit tests covering invalid criteria types
MDL-39864: Prevent activation of badge with invalid criteria directly from manage page
MDL-39864: Update restore process to handle 2.5 backup files
MDL-39864: Add missing global declaration
MDL-39864: A couple of small changes to improve default plugin behaviour
MDL-39864: Update copyright and author info
MDL-39864: Use get_plugin_list() to fetch criteria list
MDL-39864: Refactor criteria plugin to use autoloading
MDL-39864: Update styles to improve class naming