Prevent duplicate signup overwriting data

Previously if you used the signup form while logged in, whatever you entered would overwrite any existing local account's e-mail address and password. 

The altered code performs identically if the user is not logged in, or if the user is logged in but has no local account (presumably meaning they've logged in via a social account and are now attempting to connect a local account). If they're both logged in and have an existing local account, the signup is ignored and they're returned to the profile page.

Intentional changes to a user's e-mail address or password should be handled separately.