In the last post, I mentioned that I had been unable to get all the devices properly registered with the kernel. As it turns out, the problem was not with how it was being instantiated, but rather it was how the devices were named. As my mentor, Peter Maydell, discovered, the Android Kernel polls for devices by matching the device names against a string. Because I had renamed the devices to use dashes between words (goldfish-tty) as is the QEMU convention, the kernel was not able to find the device name it was looking for (goldfish_tty) and was unable to issue the correct signals. Simply renaming the devices fixes the issue.
In addition to this issue, Paolo Bonzini pointed out a problem in my qdev conversion in how I dealt with default IRQ's, so I'm fixing that as well before submitting.
* I'm in the process of moving back to my school campus (500 miles away) and into a new apartment this week. The worst part is over (packing, driving, and apartment lease signing), so I can hopefully get everything up and running soon. Though with my luck this summer, my new car will break down and my hdd will crash before I can get internet access to my desktop.