Made changes to create destination directories on sync

Made some changes that detect non-existent directories, treating them as
empty for the sync process, and added code to create directories when
receiving files from a sync client.
Added try/except block to handle non-existent file read

Added try/except block so that attempts to read a file that doesn't
exist will be handled without exception, causing a 404 not found
response for GET file requests.