Implement SM2 gem

Initial implementation of the SM2 algorithm. Implement Sm2Instance
model and associate with CardSubmission.
[#52939809]
Remove annotate and update gems

Uninstall annotate gem and de-annotate all models. Update gems to
latest versions.
Make Sm2Instance a service object, do not use gem

Copy relevant parts of Sm2 gem to model and adapt for log iteration.
Remove references to gem. Remove ActiveRecord and DB logic from model.
[#52939809]
Implement deck sorting by next repetition

Implement 'User sees a card they've previously gotten wrong' AC.
Implement CardSubmission ordering by SM2 next repetition.
[#52939809]
Implement card sorting by last studied date

Implement 'User sees a card they've not studied for a long time' AC.
[Finishes #52939809]