This fixes a huge number of hard-to-detect runtime bugs that occur when a default utf-8 string from one of these libraries is passed into a method expecting ascii-8bit
This makes the file structure match the class structure and makes the source tree easier to grok.