User settings

This is a pull request for issues #455 and #456.

> Where do you verify if caller of this method have permissions to set the username?

Method sets username to current user (```Meteor.userId()```). That way it is not possible to change any other user username through this method. User is allowed to set his own username if it is not already set.

So, we only need to check if user is logged in and if username is already set.
This line will actually throw the same error in both cases. I'll split it into two errors and take care of that race condition.