Rebased patch from Siva Mahadevan. Unlike previous work this duplicates the msdosfs kernel files in usr.sbin/makefs/msdos as requested in D11197.
I would prefer that we share common files between kernel and userland, but in the interest of expediency am fine with pursuing this approach for now, perhaps followed by careful deduplication.