storage: do not check file mode on rename

split check into two steps:
  - is it allowed to update directory
  - is it allowed to update file.

Technically, if we are allowed to update directory,
the we can update file as well (remove and put a new one).
If directory does not allow updates, then we will check the file.
This will work for partial updates as rename (remove + create) will
fail anyway.
file: do not check isUpdatable on put