LoadOrCreateByEmail does not parse non-email-addresses

LoadOrCreateByEmail calls:

    ($email, $name) = RT::Interface::Email::ParseAddressFromHeader( $email );
    $self->LoadByEmail( $email );
    $self->Load( $email ) unless $self->Id;

When passed a string with no "@", ParseAddressFromHeader returns an
empty $email and a defined $name; this results in both Load calls
failing, and the later Create failing because of Name is set to $email.

Attempt to load the user with its name if no "@" is present.
Allow ->RoleLimit( VALUE => 12 ) without having to spcify FIELD => "id"