This makes binary items that don't contain UTF-8 format data work correctly. This required some refactoring changes as previously items were checked for UTF-8 validity before the type flag was checked. This adds the ApeTag#has_id3? method for checking for an existing id3 tag. There are other minor changes as well. This updates the test suite to use the files in the test-files folder.
This makes parsed ApeItems always use a US-ASCII encoding for keys and a UTF-8 encoding for values. In addition, when you update a tag, it will transcode the key and values to US-ASCII and UTF-8, respectively. This should be complete encoding support on ruby 1.9. Add a couple new tests and a few new test data files related to this support.