I noticed that some of the file implementations like LocalFileSystem and
Azure Blob will overwrite the file on a remote file system when copying
from the client. However HDFS file implementation does not overwrite.

This should have a consistent behavior. Also I want to control if the
overwrite is done or not. So I would like to make the following proposal:
1) Modify the IFileSystem.CopyFromLocal API to take in an overwrite boolean
2) The overwrite parameter will default to true

Here is what the api will look like:
void CopyFromLocal(string localFileName, Uri remoteFileUri, bool overwrite
= true);
NOTE: With this change the current behavior in HDFS as overwrite will now
be true.