Add omniauth to let huginn consume oauth endpoints

Created a service model which stores external account information.
Created a service controller which kicks off the oauth process and lets
the user manage their external accounts.
Oauthable concern connects a agent to a service and adds a drop down to the
agents edit page.
Added a migration which converts the existing twitter agents to use the
new service model.
Update new agent form to include the service dropdown

When creating a new agent the service dropdown needs to be updated after
switing the agent type. Rendering the whole form and cherry picking just
the needed services dropdown seemed the easierst solution.
Added documentation about how to set up OAuth applications
User#available_services make sure to escape the parameters, added
missing link to the wiki
Fixed services migration, disabled agents after deletion of a service
Skip validations in the oauth migration

Also enforced the presence of needed attributes of the services table on
the database level
OAuthable concern now uses class instance variables
Merge remote-tracking branch 'huginn/master' into omniauth
Fixed the specs
Merge remote-tracking branch 'huginn/master' into omniauth

Conflicts:
	app/models/agents/basecamp_agent.rb
	app/models/user.rb
	db/schema.rb
	spec/fixtures/agents.yml
Merge branch 'master' into omniauth

Conflicts:
	Gemfile.lock
	app/controllers/agents_controller.rb
Stop adding "(Disabled)" to disabled agents.

They are now distinguished by the color and line style.
Set the digraph title to "Agent Event Flow".
Show the agent type in tooltip.
Put a badge indicating the number of events created on each agent node.

It is clickable, and colored depending on its status.
Add a tooltip to badges.
Turn the JavaScript code into a separate CoffeeScript file.
Merge pull request #421 from knu/improve_diagram-2

Adding a badge to each Agent node in a diagram.
Import scenarios with agents which need a service
Unified the layout of devise forms