I am implementing something similar; this is my approach, and more a reply to @omcgo (https://ux.stackexchange.com/a/64134/39632) than to the original question.

download bmml source – Wireframes created with Balsamiq Mockups
In this case, when the user first starts the login the Register section is hidden. If the user tries to log in, and the email isn't found, the form will change the Login button to Register, the Register link to Login, and hide the Social Login section, while showing the Register section. If the user clicks "Register", the same flow happens.
If there is an account, and the password is wrong, the standard "Invalid Password" prompt appears. The backend service is rate limited at one request per email per second, and recaptcha appears after three wrong attempts. (This is not a bank.) The Reset Password link is shown here.
Finally, for power users, simply changing the email while in the register section simply tries the login again.
I think this works with the original goal of a "new" login/register flow, while covering the bases for the "old" login page, register page flow.