handle missing account properties for GerritChangeSource

* create a separate function to convert account properties
* make use of the function in all cases where the situation might take place
* update test cases
not sure exactly why you are playing with list of strings, and not just simply build the string.
```
username = props.get("username", username)
username = props.get("name", username)
if "email" in props:
      username += u" <{email}>".format(**props)
return username
```