Fixes http://llvm.org/PR52682.
The previous fix (https://reviews.llvm.org/rGb4f6f1c) escaped backslashes, but didn't cover colons.
So the check, for a file called e.g. "C:\test\test.h" would suggest the guard C:_TEST_TEST_H being an invalid name due to the presence of the colon.
Are there other characters we should be sanitising here?
(Lest keep revisiting this code to add more characters to the list)