Fixed 2932 and 2931.

If the UTF-8 Byte order mark is present, it is discarded. A compiler error has been fixed, where the topmost level in a compile unit wasn't having its argument length checked. This rarely would practically happen, as most scripts are composed of several statements, so sconcat would have been the top level, which accepts any number of arguments. Additionally, if trigger() isn't supported for a particular event, it is recognized and a CRE is thrown instead of a java exception. Event.convert now accepts a Target, so that any exception provided by trigger can be linked properly. Individual events still need review to ensure they are using the Target however.