feat(oauth): multiple strategies per account; changeable email

### Changes include:
  * all 3 main networks are selected by default when user chooses to enable oauth¹,
  * added ability to `change email` in settings,
  * added ability to `set password` after register through oauth,
  * admins can now `confirm` user's emails,  
  * `Google` scope updated to match with [migration guide](https://developers.google.com/+/api/auth-migration),
  * implicit set of `default` options removed in some places,
  * some unnecessary `angular injections` removed,
  * some reserved JS words quoted,
  * minor style fixes & cleanup.



### Breaking:
  * data fetched from oauth accounts is now stored in a different structure (`strategies` object on `User` model),
  * credentials (such as `email` or `phone`) are now moved to `credentials` ~~object~~ array in `User` model (Helps with keeping track of states of individual methods and having multiple of them).


### TODO:
  * ability to `manually link` `oauth` accounts from settings,
  * add `email hooks` in where relevant.

===
¹ - I'll be adding more networks and they'll be disabled by default