Add SuperMemo ServiceObject

Add SuperMemo2 algorithm for checking user input
сначала мы обновляем ef, а потом используя его обновляем interval. Если использовать update_attributes то при расчете нового interval будет использоваться уже новое значение ef или старое?