Issue refs #1691: add avatar to user model, implement avatar fetching from facebook & twitter, refactor oauth providers