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.
Merge pull request #822 from ontohub/fix_keyword_style_for_worker

Fix keyword style for worker