If the master context is inactive, the next one will be master automatically
When client send NewClientEvent, server will store the ip and name to the context
CreateFileEvent will be broadcasted
More events
Refactoring
BeMasterEvent now becomes ChangeMasterEvent
When change master to an non-exist name, should response an error
Not allow empty or duplicate name
put 'writeEvent' to ContextData
Server should broadcast server status to all clients when new client join/master chnage/user info change/client disconnect
Improve specs