Break packet classes into their own files

This makes the file structure match the class structure and makes the
source tree easier to grok.