[BREAKING Multi-Select PATCH]: Add a new API, to update the metadata.

For now, this is in addition to the older API ::
       def write(metadata, file_path, update_mtime=False)

Using the new API serves the following purpose ::
       * Clearer name <===> Clearer intention
       * Just one argument ("metadata")
       * The code-workflow is MUCH clearer.