FAT: move cluster expansion checks to start of IO loops

this fixes a filesystem corruption bug at cluster boundaries. Thanks
to tkloss for reporting the issue.

Fixes issue #12