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
Add google api client
Add a service account based helper library for publishing google calendar events.
Fork twitter agent to create google calendar publish agent
Improve documentation
Update documentation
Publish raw payload
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
Supress logging for requests to the /worker_status

Because the log level is set to ERROR exceptions will still be logged.
Added the 'quiet_assets' gem to remove noisy asset logging.
Ignore xmlns when evaluating xpath
Add additional HTTP verbs put, patch, and delete.
Add option to send non-GET requests with JSON encoding.