Provide an optional threaded background worker

Due to the three background workers (scheduler, twitter stream and delayed job)
huginn needs a lot of memory to run (about 520MB on my dev machine). This PR
introduces an optional threaded background worker which combines the three current
separated processed into one (reducing the memory footprint to ~260MB).
Since just one instance of the of every background processor is running at a time
there should not be any threading related issues.
The main gotcha of this is, that it's most likely not possible to run multiple
delayed job workers concurrently. The ultimate solution would probably be switching
to sidekiq with sidetiq as scheduler, but that is a different task :)

When running on MRI the GIL should not be an issue because it is released for most IO
bound operations (waiting for the database/website/sleeping).
Use threaded workers in the chef production Procfile
add basic scaffold of scenarios, including the ability to add agents to scenarios, edit scenarios, and view scenarios.  next step: import and export
Add SlackAgent

The SlackAgent lets you receive events and send notifications to slack
Add default username
Merge remote-tracking branch 'origin/master' into scenarios
Merge branch 'master' into scenarios

Conflicts:
	app/assets/stylesheets/application.css.scss.erb
	app/views/agents/index.html.erb
	app/views/agents/show.html.erb
Scope menu
Merge branch 'master' into scenarios
better handling of return paths, and more specs
Merge branch 'master' into scenarios
allow exporting of a set of Agents with their links from a Scenario; Scenario guid is now generated and copied to export, as well as a source link when public
easier removal of agents from scenarios via the menu
Added a liquid tag to access user credentials

Via '{% credential USER_CREDENTIAL_NAME %}' liquid enabled agent options
can be used to access stored user credentials
Merge pull request #348 from dsander/liquid-credentials

Added a liquid tag to access user credentials
Merge branch 'master' into threaded-background-workers
Threaded background worker now is the default
Merge pull request #342 from tonmoy-saikia/slack_agent

Add SlackAgent
Merge remote-tracking branch 'origin/master' into scenarios
diagram links back, export URL includes .json