Carl, wrong commit from testing, so don't worry, removed. As for your direct question:
A) Indeed person::new only makes sense if we use contacts in conjunction with mail-tracking.
B) Not an issue. Code has been written to take this into account (aka: e-mail address already exists in the system as a person but not as a user). But it is not committed as I just overwrote the registration process through a custom package. And this is an issue you face with *every* contacts installation, not only if there are arbitrary e-mails in the system. So we might want to start a new thread and discuss the best behaviour there.