fillBytes uses 'memset' to fill a memory area with a required byte value.
I've made all the changes requested by @duncan in https://phabricator.haskell.org/D461:
- moved the change to Foreign.Marshal.Utils
- fixed the import location (string.h instead of stdlib.h)
- fixed the import types (Word8 -> Int instead of previous CInt -> CSize), types were used in accordance with copyBytes interface
- comment was improved as per @duncan's advise
(all the reviewers from #D461 are preserved)