Introduce user multifield


In the annotation.user field we store the users in the acct:username@domain format
However when we're searching for users via stream we only use the username part
and the client has to juggle to make up the domain and the backend
cannot theoretically know the domain.

So, the user field was turned into a multi-field, to reflect both usage.
annotation.user is the same as it was and
annotation.username contains only the username part.

Now the client doesn't have to construct back the whole user format.
And without this our 'any' fields searches failed for the user field

Fix #1456
Fix #1457
Sorry, it's the `.group(1)` that breaks, e.g.

    re.match('^acct:(.+)@.*$', 'aron').group(1)
    > AttributeError: 'NoneType' object has no attribute 'group'