Clean up error handling in FAT32.
Clean up error handling in FAT32.

Change asserts to simple-file-error as per the spec. Discovered this
issue when trying to load a system using asdf. asdf catches
simple-file-error and continues processing, but fails when there is an
assert.

Added check to delete-file-using-host for attempting to delete a directory.

Changed rename-file to delete the destination file if it exists so
that it has the same behaviour as sbcl on linux.

froggey/Mezzano,froggey/Mezzano