support deleting files on the backend storage
fix whitespace
add exception handling for unknown storage exceptions

return 500 internal server error then
fix storage file delete function

1. open the file for reading, instead of writing to detect its
absence
2. close the file handle before deleting the file
support deleting directories from backend storage

deletes recursively, be careful
refine the display of the generic storage exception