fix keyword-compliance for worker

When using sidekiq to create and manage jobs, the arguments
to the async_perform call will be converted to JSON in order
to store them in the redis database. When the job is executed
the JSON is parsed into ruby types. However symbols get lost,
as JSON actually only supports strings.

Generally this is not a problem, as we usually use symbols
for their memory uniqueness
(which makes them faster and more pleasing to the eye).
But the ruby keyword syntax requires the hash to contain of
symbol keys. As the keys are now strings it will not recognize
this as a keyword-based hash. So we need to figure this out for
ourselves. This commit will take care of that with regards
to the 'try_count' key in our workers.
create common base-worker to dry up the worker

Especially with the new change (keyword-syntax compliance)
the workers were in need of some drying up.
This creates a common base-class and uses it.
add spec for ext-references in DOs

If a single ontology in a distributed ontology references (i.e. imports)
an ontology which is not part of the distributed ontology, the
link/mapping should be created correctly and without failure.
support references in distributed ontologies

distributed ontologies (actually single ontologies in distributed
ontologies) can also import and reference ontologies which are not part
of the distributed ontology. So we cannot use `iri_for_child` to infer
the ontology-iri on ontohub for a referenced DGNode name. Instead we
create an ontology aliasing map which maps DGNode names to their
corresponding ontology-iri, which is determined when creating/finding
the specific ontologies.

This leverages the fact that DGLinks are always placed after the
DGNodes in hets-xml output.
use hets-xml fixture to not trigger remote network

In order to not use a remote network connection to
find the referenced ontology, we (sadly) need to
use a hets-xml output fixture.
Merge branch 'staging' into 765-references_in_distributed_ontologies
improve decision for html or plain text sending of file
use proper http accept record
Improve OWL API request header check

Now, we use accept header ordering computed by
rails. As long as the q-values don't change, in
their ordering, we have more robust code now.

This code is about to be deleted/reverted together with
0a4106958a2950ecde156cacae0e9702dc819867.
Merge pull request #810 from ontohub/765-references_in_distributed_ontologies

765 references in distributed ontologies
Merge pull request #841 from ontohub/hotfix-check_proper_request

improve decision for html or plain text sending of file
remove superfluous link versions controller.
Merge pull request #842 from ontohub/802-remove_link_versions_controller

remove superfluous link versions controller.
Merge pull request #822 from ontohub/fix_keyword_style_for_worker

Fix keyword style for worker
Merge branch 'staging' into 343-display_icon_type_category_projects