MDL-46824 core_grades: Control when drop lowest/keep highest is allowed

Part of: MDL-46576
MDL-46824 core_grades: Prevent user from using drop lowest/keep highest

Part of: MDL-46576
MDL-46824 core_grades: More tests to cover drop lowest with Natural

Part of: MDL-46576
MDL-46824 core_grades: Only display 'Drop n lowest' when supported

Part of: MDL-46576