Byte Order Mark removal if detected

Hi, I have finally managed to add a detection check of a Byte Order Mark before processing the file/string with the javascript lexer.

I have tested locally and it seems to work fine with _cucumber-js_. I can't find the ignored test for BOM, to enable it again and see if everything works well. I could write a new test if this is missing.