Social login

@nockertsb I had to rewrite the history on master since the private keys for twitter and facebook were on there. I moved the two commits you made to a new branch and did not make any modifications. I'll do a review and tag you when I'm all through.
Order your lifecycle methods in the order they get called. It makes it easier in the long run. I'll send a PR for contribution documentation that reflects this.