flexible registration that allows login and multiple error messages

ref #85

test the following scenarios:
register with non matching passwords and non-existent email
 - expected behavior see error message about non matching passwords and
email is sticky
register with matching passwords and existent email and password is the
correct password
 - expected login as per normal and go to cart step 3
register with matching passwords and existent email but password is not
correct
 - expected behavior see error message about duplicate email and email
is sticky
register with matching passwords and non-existent email
 - expected behavior create new user and send email to user
register with non-matching passwords and existent email
 - expecdetd behavior 2 error messages: 1 about passowrds not match and
1 about duplicate email.