Stripped BOM from UTF 8 encoded files

The compiler throws an exception when a flag file or a conformance configuration file has a UTF-8 BOM, so stripping it in both of these cases would be beneficial for people that use Visual Studio, or other IDEs that add a BOM by default.
Fixed https://github.com/google/closure-compiler/issues/658
Made sure BOM is the first character

Instead of ignoring mid-string BOM characters, verify that it is the first character in the string.
Fixed an outdated comment
Fixed the no initial BOM case

The code was ignoring the first BOM it found, not the BOM as the first character.
Merge pull request #661 from phistuck/patch-4

Stripped BOM from UTF 8 encoded files