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.
There are some code style refactorings in the ontology parser code that I didn't originally change in this branch. I adjusted the style of them to make the style consistent throughout the file.
Because Hound loves guard clauses