Fix UTF sanitization and specs

Since encoding was already forced to UTF-8, re-encoding as UTF-8 was a noop and did not properly sanitize.
Per [this StackOverflow](http://stackoverflow.com/questions/11375342/stringencode-not-fixing-invalid-byte-sequence-in-utf-8-error) we first sanitize and encode into UTF-16 and then encode back to UTF-8.

Also added the proper magic comment for UTF-8 encoding the spec file.