Rejigger P4Connection to use a standard return type
The previous mechanism made it hard to return anything but error messages. With the P4Message
object we can return dictionaries, lists, and messages with a single object. I can use the new object
more intelligently, but that’s for another change.
I also reorganized the code to separate the ‘p4’ layer off into its own potentially reusable bucket.