Improved checkForUtf8ByteOrderMark

Improved algorithm to check for UTF-8 Byte Order Marks. No longer expect
all three starting bytes to be read at once, but reads them as blocks.

Issue: SWS-845