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.

fixed the way that we WriteNullTermString with utf16

Originally this function was just writing a 0x00 byte, which does not
work for utf16.

fixed mistake when merging changes
Add test for readonly
Add dirty flag to Tagger
Merge branch 'feature/readonly' into develop
Merge branch 'develop'
Add Travis CI
Rename parameters for clarity
Fix encoding test
Fix EncodedDiff parameter order
Fix sizes affected by encoding
Merge branch 'develop'
Add build status indicator
Merge branch 'develop'
cleaned up testing of UTF-16 on UnsynchTextFrames fix

Added a new COMM field to test.mp3 in UTF-16 with the Description: "✓"
and text "✓". Opening and closing it two times without a panic should
ensure that it is working.

Also added a few lines to the open test to explicitly test to make sure
that these UTF-16 fields are being read properly.
Merge pull request #13 from gerow/utf16_comm_write_fix

Fixed the way id3-go writes back comm tags when using utf16
Shorten WriteNullTermString
Fixes #14 Add tag to tagless file if dirtied
Merge branch 'develop'
Use strings.TrimRight instead of removeNulls
Use v1.Tag instead of anonymous struct in test