Accept signed userids in FxA state param (bug 1075041)

I think this code is too deeply nested, there's too much code to tell what the intent is. Can you move the `try`/`except` into a helper to limit this?

```python
def find_user(**kwargs):
    try:
        return UserProfile.objects.get(**kwargs)
    except UserProfile.DoesNotExist:
        return None

profile = (find_user(pk=userid) or
           find_user(username=fxa_uid) or
           find_user(email=email))
if profile:
    # Update to match new FxA data.
else:
    # Create a new user.
```