Add SuperMemo ServiceObject

Add SuperMemo2 algorithm for checking user input
что думаешь о таком геттере:

```
def e_factor
  @e_factor > 1.3 ? 1.3 : @e_factor
end
```