add BINARY_OWNER special client user
makes RefCountFile as AbstractMessage
remove isHidden from AbstractMessage,use MessageType instead
refactor Message class family