Vkontakte OAuth update

Vkontakte fixed its API, so now it implements OAuth exactly like other social networks (e.g. Facebook) do.

So, I modified `userProfile` to work without `user_id` and removed all old vk-specific hooks, replacing them all with `OAuth2Strategy.prototype.authenticate` call.
I also updated deps, because there was a major release of `passport-oauth` half a year ago.

I added a set of custom errors and implemented proper error response parsing. So, now all vkontakte errors are passed to the client.

I used `passport-facebook` as an example.