Remove setters from UserInterface

Setter methods are potentially unnecessary and may vary per implementation due to PHP's limitations on type-hinting and method signatures.  For instance, if I have an `EmailAddress` value object, I'll want to construct my user entity like so:

```php
// ...
public function setEmail(EmailAddress $email)
{
    $this->assertNotNull($email, 'E-mail');
    $this->email = (string) $email;
}
// ...
```