Adds doorkeeper to allow application to authenticate against huginn

This should help with #626, it also has the benefit that users do not need to share their username and password with any third party application that needs to access the huginn instance.

Since we probably can not keep the application `secret` secret I think we should automatically add every known application that is able to use huginn via a migration.

At the moment you need to access `<your huginn instance>/oauth/applications` and add the application manually.
How about issuing 'random multi-word secrets' as tokens but hash the value in the database? I kind of dislike the idea of having un-hashed 'passwords' in the database.

Also I think I was wrong, a hashed token in the database still allows timing attacks if the hashing algorithm is known.