refactor tarjan tree according to style-guide

Also objectify the class.
use SQL to fetch valid sentences for Tarjan Tree.
adjust tarjan tree uses across project

Use .for instead of .new.
remove invalid ontology_id/name constraint

Names in entity_groups are not unique.
cleaning up before making an new tree
fixing test

the test works with an old object so we have to reload the object
Merge pull request #921 from ontohub/fix-tarjan-tree

Fix tarjan tree
adjust hets version checking schema

Adjust the hets-version checking to check for a version string like
this: v0.99, 1402678179

Also change the way the method complains about non-matching versions.
Versions which are are lesser than (through lexicographical comparison)
the target string will still raise the VersionOutdated error but
versions which fall through the regex-check (non-compatible) will only
produce warnings in the log and on STDERR instead of killing the
application.
bump minimal hets version to v0.99, 1402678179

This effectively bumps the minimal version by
60 commits.
Merge pull request #929 from ontohub/863-adjust_hets_version_checking

863 adjust hets version checking
add spec for a timeout worker.
add default timeout limit (6 hours).
add TimeoutWorker

Tests should be green.
Also StateUpdater methods are not protected anymore (we should be able
to manipulate the state from outside of the model).
add convenience methods for timeout-clock.
add specs for worker if timeout not reached.
adjust timeout worker for rescheduling

Utilize Sidekiqs scheduling capability.
Also allow rescheduling if timeout was not
yet reached.
use timeout-worker in worker and batch-parse.
rely on sidekiqs scheduling mechanism

Instead of second-guessing sidekiq by checking the timeout again (and
considering that sidekiq basically checks it the same way we were doing
it), we rely on sidekiqs scheduling mechanism.