Get-LongChildItem uses dir instead of robocopy

robocopy gives problems with special non-ASCII characters in the file
paths. This can be solved with the /unicode switch, but then the output
is gibberish. Apparently, this ia a bug in XP27 version of robocopy. See
here:

http://superuser.com/questions/295934/robocopy-unilog-output-is-gibberish

I also put some extra asserts and minor code changes.
Bug fixed in case $BackupRoot is null a null string is passed in the pipe