implements atomic file renaming in AtomicRename
add AtomicRenameTest,fix exclude container not init bug
add log to AtomicRename
refactor out FileShareMessage.

since RefCountFile's sender is a special same ClientIdBytes,so
different user sended file will has the same idBytes. this makes
server much simpler .but only first uploaded file extension is keeped
when two same file uploaded.
improve file share message display,show image if share is a img
unknown type file share message open download link in new window