Simplify FileUtil's Copy and GetSize functions.

Also more general, rather than platform-specific code.
You should probably do the ```IsDirectory``` check first. Or what does an ```ifstream``` do when you pass a folder name?