1114 add theorem support

This is supposed to fix #1114 and #50.

* Theorem inherits from Sentence, but is *not* selected with sentences.
* Each Theorem can have many ProofAttempts: One ProofAttempt represents the status/result (with details) of a prover fed with this theorem.
* Each ProofAttempt has one ProofStatus
* The ProofStatuses are coming from the SZS ontology which can be found at https://ontohub.org/meta/proof_statuses.owl. In the seeds, this ontology is downloaded by the rake task `generate:proof_statuses` and parsed by `ProofStatus.refresh_statuses`. For the tests, I made a factory which creates the relevant statuses on rpecs `before(:suite)`.

To the reviewers: I suggest that you review the whole branch as one unit and not commit-wise because there is quite a number of lines I added in the first commits which I removed in later commits because I decided it's not the right way to go.
Lint/UnusedMethodArgument: Unused method argument - `hash`. If it's necessary, use `_` or `_hash` as an argument name to indicate that it won't be used. You can also write as `theorem(*)` if you want the method to accept any arguments but don't care about them.<br>Lint/UnusedMethodArgument: Unused method argument - `theorem`. If it's necessary, use `_` or `_theorem` as an argument name to indicate that it won't be used. You can also write as `theorem(*)` if you want the method to accept any arguments but don't care about them.