Fixed the way id3-go writes back comm tags when using utf16

Previously when trying to write a null terminated string it simply wrote
a single 0 byte for the null character. This fails for utf16 where the
null character is two bytes of zeros.

Instead we look up the null length and add that many zeroes. I also added a test that makes sure that it is fixed by opening and closing an mp3 file with utf16 tags multiple times, which originally induced a panic.

I'm thinking this should resolve #12, but I'm not sure.

Also, thanks for sharing this library, it's really nicely designed!