warn against the byte order mark if exists; fixes #545

1. *nix users have to make a conscious effort to make a non-UTF8 file. If they intentionally choose to do so, they will be punished by their own decision (I say "punished" because they try to escape a consistent world). If they got the app from someone else (presumably a Windows user), falling back to `getOption('encoding')` will not work, since the default system encoding is normally still UTF8. Based on these two reasons, I did not bother to do the encoding checking for *nix users.
2. As you said, UTF-8-BOM just works on *nix, so I tend not to make a fuss about it. I guess there are not many *nix applications that save text files with BOM by default (at least RStudio does not do it), which makes it even less of concern.

I believe this PR should cover most of the possible Unicode issues. Let's refine it after we hear reasonable exceptions from users. If one chooses to use an editor that enables BOM by default, it is his/her own responsibility to read the shiny dev center article and figure out the mess.