added fatfs code from chang website and made a unit-test implementation as well